シェルスクリプトを書いていたらif文の条件式でcommand not found
がでました。
問題点
[sample.sh] -------------------------- # !/bin/bash if [$date -le $match]; then echo "ok" fi
このように変数同士を比較するような条件式を書いて実行したところ以下のようなエラーが表示されました。
$ ./sample.sh ./sample.sh: line 25: [20190903024350: command not found]
原因と解決法
原因は[$date
の部分がひとつのコマンドとして認識されてしまっていたことにありました。
以下のように[
と$
の間にスペースを空けてあげたら動きました。
[sample.sh] -------------------------- # !/bin/bash if [ $date -le $match ]; then echo "ok" fi
あまりにも初歩的なミスですが勢いで書いているとやってしまいがちな上に気がつきにくいので気をつけましょう。