bashpipefail
オプションを ( 経由でset -o pipefail
) 設定すると、パイプの任意のステップでゼロ以外のエラーが発生した場合に、スクリプトが失敗するようになります。
ただし、SIGPIPE
存在しないパイプにデータが書き込まれるというエラー (エラー コード 141) が発生しています。
エラーを無視するように bash を設定する方法はありますSIGPIPE
か、またはすべてのエラーステータスコードを処理するエラーハンドラーを作成する方法がありますが、たとえば 0 と 141 はありますか?
たとえば、Python では、以下を追加できます。
signal.signal(signal.SIGPIPE, signal.SIG_DFL)
エラーにデフォルトの動作を適用するにはSIGPIPE
: エラーを無視します ( http://coding.derkeiler.com/Archive/Python/comp.lang.python/2004-06/3823.htmlを参照)。
bashで利用できる同様のオプションはありますか?