【メッセージ具体例紹介】コマンドが見つかりません【シェルスクリプト】

雑学

備忘録になります。以下のようなケースでエラーメッセージが発生します。

ケース1:イコールの両辺にスペースがあり、エラー

# cat wrk.sh
COUNT = 0
echo $COUNT

# ./wrk.sh
./wrk.sh: 行 1: COUNT: コマンドが見つかりません

変数の代入のイコール(=)の両側にスペースを入れた事が原因です。変数COUNTがコマンドと解釈されエラーになりました。

修正後

# cat wrk.sh
COUNT=0
echo $COUNT

# ./wrk.sh
0

ケース2:判定式の角括弧の両側にスペースがなく、エラー

# cat wrk.sh
if ["AAA" = "AAA"]; then
    echo "OK"
fi

# ./wrk.sh
./wrk.sh: 行 1: [AAA: コマンドが見つかりません

判定式の角括弧の両側にスペースがないと判定式と解釈されません。

修正後

# cat wrk.sh
if [ "AAA" = "AAA" ]; then
    echo "OK"
fi

# ./wrk.sh
OK

関連リンク