以下は、コマンドが見つかりませんが、他の部分の値を出力するコマンドをスローする単純な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