シェルスクリプト AND と OR と終了ステータス

エラーのときだけ処理を行いたいとき

function && error_function

AND を使って処理を連結すれば良いです。

正常のときだけ処理を行いたいとき

function || normal_function

OR を使って処理を連結すれば良いです。

もちろん

function1 || function2 || function3 || function4 ... 

とたくさん連結しても良いです。
こういう場合、if 文で書くと、汚いコードになりそうですが、
OR で連結すればエレガントですね!


と、このように書くのがプロフェッショナル。
フラグを使ったり、if 文でごちゃごちゃ書くのはアマチュア

まとめ

シンプルかつエレガント ・・・ プロフェッショナル
ごちゃついている ・・・ アマチュア
トリッキーな「俺のコードわかる?w」コードを書く ・・・ 死ね


なお、終了ステータスは、

正常時は、 0 を返す。
異常時は、1 (非0) を返す。

という原則を破壊しないことです。
これを遵守しないと、前述の AND と OR の処理がムチャクチャになります。
普通に、if 文で判断を書く場合でも、困った事態となるでしょう。

また、C 言語でも正常時に

    return 0;

と書く理由がわかりますよね?