Bash 終了判定
シェルスクリプトの終了ステータスは、$? に格納されるはずだが、いちいちこれを if で比較判定するの面倒だな、と思っていたら、もっと簡単に実行する方法が見つかった。
終了ステータス | UNIX & Linux コマンド・シェルスクリプト リファレンス
うーん、このサイトはトラックバック送信はできないようだ。
いいなと思ったのは以下の2つ。
- コマンドを && でつなげると、先のコマンドが成功した場合のみ次が実行される
- コマンドを || でつなげると、先のコマンドが失敗した場合のみ次が実行される
バックグラウンドで動作させる処理(& をつける場合)は、このサイトに記載されていなかったが、以下のようにすることで判定されるみたいだ。
function1 && eval "function2 &" && function3
& が必要な処理はダブルクォートで囲んで、その前に eval をつけたらうまくいったように見える。