set -o pipefail
私はスクリプトでいつものように使用します。これはうまく機能し、次のように文書化されています。
curl ... | jq ... | psql ...
しかし、パイプラインのどのコマンドが実際にプロセス全体の失敗を引き起こすのかを確認する方法はありますか?
より簡潔なロギングのみを目的として、この問題を調査していますが、関連文書が見つかりませんでした。
答え1
PIPESTATUS
組み込み配列を使用してください:
true | true | false | true | true
declare -p PIPESTATUS
declare -a PIPESTATUS=([0]="0" [1]="0" [2]="1" [3]="0" [4]="0")