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_occasion
el 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_occasion
se 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