When automating your administrative tasks also shell scripts are checked in to a version control system. The built-in command line argument
-n allows a syntax check of the shell script without executing it:
$ bash -n myScript.sh
$ echo $?
0
If the syntax check is successful nothing is displayed and the exit code is
0.
However, if there is an error (like in the following case a missing parenthesis) an error message is printed and the exit code is
2:
$ bash -n myScript.sh
./myScript.sh: line 23: syntax error: unexpected end of file
$ echo $?
2
When checking your scripts in that way inside your continuous delivery pipeline it is easy to spot simple type errors.
Keine Kommentare:
Kommentar veröffentlichen