Я проходил курс по командной строке на Codecademy и получил ошибку, причину которой я не могу понять.
Я ввожу этот код в свой файл 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
А когда я запускаю на bash, то получаю это:
$./script.sh
./script/sh: line 6: [1: command not found
How are you?
Я пробовал менять greeting_occasion
значение, но в результате всегда возникает How are you?
ошибка в строке 6. Кроме того, я пробовал изменить условие так, чтобы оно начиналось со строки 5, и получаю ту же ошибку в той же строке, строке 6, и тот же результат How are you?
.
Есть идеи, что тут происходит? Спасибо за ваше время!
решение1
Вам нужно пространство [ $greeting_occasion -lt 1 ]
.
Был $greeting_occasion
преобразован в 1
. Это дало
if [1 -lt 1]
Итак, bash попытался запуститься [1
с аргументами -lt
и 1]
передать свой код завершенияif