estou fazendo um curso de linha de comando no codecademy e recebo um erro que não consigo entender por que ele está lá.
eu insiro este código no meu arquivo 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
E quando executo no bash, recebo isto:
$./script.sh
./script/sh: line 6: [1: command not found
How are you?
Tentei alterar greeting_occasion
o valor, mas o resultado é sempre How are you?
com um erro na linha 6. Além disso, tentei alterar a condicional para iniciar na linha 5 e recebo o mesmo erro na mesma linha, linha 6, e o mesmo resultado How are you?
.
Alguma idéia do que está acontecendo nisso? Obrigado pelo seu tempo!
Responder1
Você precisa de um espaço [ $greeting_occasion -lt 1 ]
.
O $greeting_occasion
foi transformado em um arquivo 1
. isso deu
if [1 -lt 1]
Então bash tentou executar [1
, com argumentos -lt
, 1]
e passar seu código de saída paraif