could you please explain to me what exactly this shell command do? It is quite difficoult to retrive the description of this -ex option.
sh #!/bin/bash -ex
Thanks in advance
Advertisement
Answer
It means you’re invoking new bash shell with -e and -x shell options
See shell options here: https://tldp.org/LDP/abs/html/options.html
-e errexit Abort script at first error, when a command exits with non-zero status (except in until or while loops, if-tests, list constructs)
-x xtrace Similar to -v, but expands commands
since -x is similar to -v:
-v verbose Print each command to stdout before executing it
So it’s actually dropping to next level shell:
JavaScript
x
$ echo $SHLVL
1
$ sh #!/bin/bash -ex
$ echo $SHLVL
2
in which in this level 2 shell, option -e and -x is activated