From Free Knowledge Base- The DUCK Project: information for everyone
1,273 bytes added,
17:48, 25 February 2021 The following lines were added (+) and removed (-):
echo $1=== Terminate execution of script on command error ===While your shell script executes commands one might return a non-zero value. At the top of your shell script use set -eThis will cause the shell to exit immediately if a simple command exits with a nonzero exit value. A simple command is any command not part of an if, while, or until test, or part of an && or || list.Works with redirects too, such as command > output.txtDoes not work with pipes command | anothercommand parameterThe set -e directive is sometimes insufficient for example if you have pipes. If your script contains commands with pipes then include set -e set -o pipefailRather than the entire script under the influence of set -e you can use an exit on non-zero just on specific command lines in the script command || exit 1Or say you use to use a script wide set -e and exclude a particular line from causing the script to exit if that one particular command fails badcommand || trueEven if badcommand exits non-zero the script will go on, while set -e was specified at the top. The || true will make the command pipeline have a true return value even if the command fails so the the -e option will not kill the script.On errors, you can also use 'trap' with the pseudo-signal ERR