実際のbashプログラムを見ながらデータ処理バッチでシェルスクリプトは便利データ処理などでバッチプログラムを書くことは多い。Pythonなどのプログラム言語を使って全部記述する方法もあるし、最近ではGUIのワークフローを描けるツールも出てきている。シェルスクリプトは依然として強い。シェルスクリプトは概して動作が高速で、イレギュラー処理に対しても柔軟に対応できる。gcloudやawscliなどのコマンドを使って記述できるので、できないことはない。機能がなければコマンドをインストールすることも可能。困ったときにも確実にゴールにたどり着くメリットがある。プログラム言語だとライブラリの出来に依存するし、ワークフロー系のツールは機能が実装されていないと詰む。イレギュラー処理を扱えない場合がある。便利なツールが出てきている時代ではあるが、シェルスクリプトを覚えておくのはおすすめである。バッチ処理ではエラーハンドリングが必須だが、bashではエラーハンドリングが難しい。そこでこの記事ではエラー処理を含めたbashスクリプトのベストプラクティスを紹介する。:}になるようなものをbashで実装する。pipefailを実行する。setはシェル自体の挙動の設定を行うコマンド。コマンドがエラーを出さない場合でも任意の条件でエラー扱いにするための関数。出力するエラーメッセージを引数として受け取る。