To write robust Bash scripts, I recommend you to:
1. Activate the Bash options: errexit, nounset
Add these two options at the top of your Bash scripts:
#!/usr/bin/env bash
set -o errexit
set -o nounset
- errexit will stop your Bash script each time a command in your script returns an exit code different from « 0 ». It does not show any message when it quits, this is why it is important to show a traceback (check the second advice below « show a Bash traceback »).
- nounset will stop your script and output an error if you attempt to use undefined variables. nounset is very important because it can avoid you to run dangerous commands like: rm –fr « /$undefinedvariable »
2. Check your Bash scripts with shellcheck and follow the recommendations of Advanced Bash-Scripting Guide.
- Commentaires fermés sur 3 advices to write robust Bash scripts
- Tags: ERR, FUNCNAME