error 1: el comando no se encuentra en un ejercicio de scripting bash condicional simple

error 1: el comando no se encuentra en un ejercicio de scripting bash condicional simple

He estado haciendo un curso de línea de comandos en Codecademy y aparece un error que indica que no puedo entender por qué está ahí.

Introduzco este código en mi archivo script.sh:

01 #!/bin/bash
02 first_greeting="Nice to meet you!"
03 later_greeting="How are you?"
04 greeting_occasion=0
05 
06 
07 if [$greeting_occasion -lt 1]
08 then
09   echo $first_greeting
10 else
11   echo $later_greeting
12 fi

Y cuando ejecuto bash me sale esto:

$./script.sh
./script/sh: line 6: [1: command not found
How are you?

Intenté cambiar greeting_occasionel valor pero el resultado siempre How are you?muestra un error en la línea 6. Además, intenté cambiar el condicional para comenzar en la línea 5 y obtengo el mismo error en la misma línea, línea 6, y el mismo resultado How are you?.

¿Alguna idea sobre qué pasa con esto? ¡Gracias por tu tiempo!

Respuesta1

Necesitas un espacio [ $greeting_occasion -lt 1 ].

El $greeting_occasionse transformó en un 1. esto dio

if [1 -lt 1]

Entonces bash intentó ejecutarse [1, con argumentos -lt, y 1]pasar su código de salida aif

información relacionada