エラー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

おすすめ記事