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 となるため実行されない。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です