bash プログラミング:終了ステータスを用いた実行制御
終了ステータスを変更するのモノに反転「!」がある。
$ (( 1 == 1 )); echo $? 0 $ ! (( 1 == 1 )); echo $? 1 $ |
1つ目のコマンドの終了ステータスで2つ目以降のコマンドを実行するかどうかが変更するものに「&&」や「||」がある。
これは本来、複数個の実行結果による「AND」や「OR」なのだが、1つで条件を満たす場合、それ以降が実行されない。
両方とも実行されるケース
$ echo “ABC” && echo “DEF” ABC DEF $ |
片方しか実行されないケース
$ ! echo “ABC” && echo “DEF” ABC $ echo “ABC” || echo “DEF” ABC $ |
「&&」の場合は、1つ目が False である場合、2つ目の結果に関わらず False となるため実行されない。
「||」の場合、1つ目が True である場合、2つ目の結果に関わらず FTrue となるため実行されない。