パイプラインでエラーになった時にスクリプトを止めるpipefail指定

bashの最初の方に、set -e して、スクリプト内にエラーがあったら止める、としているのですが、
なんか止まらないで変な挙動をしているものを発見。

調べたら、パイプ処理でこけてるのに、その後も頑張っちゃっていました。

設定)
set -eu

-e=エラーになったらこける
-u=パラメータ展開中に未設定の場合こける

ということで、パイプでエラーのときもコケル設定を追加

set -o pipefail


ちなみにどんなものがセットできるのか調べるときは、コマンドライン上で

set -o
と実行すると、一覧が出てきます。
なんだか色々設定できるものがある。


参考:
https://blog.ueda.tech/?p=5953
http://www.atmarkit.co.jp/ait/articles/1805/10/news023.html
https://qiita.com/progrhyme/items/6e522d83de3c94aadec9