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")