すがブロ

sugamasaoのhatenablogだよ

失敗したら実行する

失敗した時のみ実行する記述方法

以下のように書くと、左辺の処理が成功(exitコード 0*1)の場合に右辺を実行するようになる。

gcc hoge.c && ./a.out

つまり gcc のコンパイルが正常に終了した場合にはプログラムの実行を行う、ということだ。
おれは良くこんな風に書く。

make clean && make && make install

こうしておけば常に新しいソースをベースにして0からコンパイルできる。

で、本題

ビルド失敗等をトリガーにしてメールを送るとかする場合は以下のように書く。

make clean && make && make install || 失敗した時のコマンド

このように

演算子

を使う事で左辺が 0 以外の場合に実行するようになる。これは、 make で失敗しても make install で失敗しても、 || 以降のコマンドが実施される。
これは便利ですね!

ちなみに

bashzsh でしか試していません><

*1:プログラム実行後に echo $? とかやると見れるヤツね