DevOps инженер
set -o pipefail
set -o pipefail false | echo 'Hello world!' echo rc: $?
set +o pipefail false | echo 'Hello world!' echo rc: $?
тогда будет падать при возникновении ошибок в пайплайнах:
>Hello world!
>rc: 1
В отличие от дефолтного поведения, где return code будет соответствовать последней команде в пайплайне и, таким образом, 'set -e' проигнорирует эту ошибку:
>Hello world!
>rc: 0