コマンド hoge の終了ステータスが成功した場合に別のコマンド piyo を実行したい場合、
success.sh
if hoge; then
piyo
fi
と書く。逆に hoge が失敗だった場合だけpiyoを実行した場合どうするか。
|| を使う。
そのものずばりの機能があって、
pipepipe.sh
hoge || piyo
と書けば、hogeが失敗した場合だけpiyoが実行される。||の代わりに&&を使えば、hogeが成功した場合だけpiyoが実行される。
@nise_nabe さん、ありがとうございました。
! を使う。
!というコマンドがあって、こいつは、
bikkuri.sh
! hoge
とすると、まずhogeが実行されて、hogeの終了ステータスが0だったら1を、0以外だったら0を終了ステータスとして返してくれる。
なので、
bikkuriif.sh
if ! hoge; then
piyo
fi
と書けば、hogeが失敗した場合だけpiyoが実行される。
@leihcrev さん、ありがとうございました。