Automatic Exit From Bash Shell Script on Error
Use the set -e
builtin:
|
Alternatively, you can pass -e
on the command line:
bash -e my_script.sh |
You can also disable this behavior with set +e
.
You may also want to employ all or some of the the -e
-u
-x
and -o pipefail
options like so:
set -euxo pipefail |
-e
exits on error, -u
errors on undefined variables, and -o (for option) pipefail
exits on command pipe failures.
The shell does not exit if the command that fails is part of the command list immediately following a while
or until
keyword, part of the test following the if
or elif
reserved words, part of any command executed in a &&
or ||
list except the command following the final &&
or ||
, any command in a pipeline but the last, or if the command's return value is being inverted with !
.