ошибка 1: команда не найдена в простом условном упражнении по написанию скриптов bash

ошибка 1: команда не найдена в простом условном упражнении по написанию скриптов bash

Я проходил курс по командной строке на 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

Связанный контент