top | item 10736945

(no title)

krallin | 10 years ago

While not as common as nounset and errexit, pipefail is a useful option as well (set -o pipefail).

Using pipefail, if any program in a pipeline fails (i.e. exit code != 0), then the exit code for the pipeline will be != 0.

E.g. pipefail can be useful to ensure `curl does-not-exist-aaaaaaa.com | wc -c` doesn't exit with exit code 0..!

discuss

order

michaelhoffman|10 years ago

You can set all three of them in a single line. Set up your Bash template with this today:

    set -o nounset -o pipefail -o errexit

vog|10 years ago

I usually shorten this to:

    set -eu -o pipefail