erro 1: comando não encontrado no simples exercício de script bash condicional

erro 1: comando não encontrado no simples exercício de script bash condicional

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_occasiono 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_occasionfoi 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

informação relacionada