以下は、コマンドが見つかりませんが、他の部分の値を出力するコマンドをスローする単純なifコマンドです...
-bash-3.00$ if ["$a"="10"]; then echo "hello"; else echo "hi"; fi;
出力:
-bash: [10=10]: command not found
hi
何が問題なのか教えてください。
[
/]
と述語式の間にスペースを追加します。
if [ "$a" = "10" ]; then echo "hello"; else echo "hi"; fi;
# ^ ^
[
プログラムです:
$ which [
/usr/bin/[
スペース[10=10]
がない場合は、プログラム名として認識され、代わりに実行されます[
。
$ a=10
$ if [ "$a" = "10" ]; then echo "hello"; else echo "hi"; fi;
hello
$ a=20
$ if [ "$a" = "10" ]; then echo "hello"; else echo "hi"; fi;
hi