linux中的脚本以一些声明开头:
#!/bin/bash
如果我错了,请纠正我:这可能说明要使用哪个shell。
我也看过一些说:
的脚本 #!/bin/bash -ex
标志-ex
的用途是什么答案 0 :(得分:5)
#!/bin/bash -ex
<=>
#!/bin/bash
set -e -x
手册页(http://ss64.com/bash/set.html):
-e Exit immediately if a simple command exits with a non-zero status, unless
the command that fails is part of an until or while loop, part of an
if statement, part of a && or || list, or if the command's return status
is being inverted using !. -o errexit
-x Print a trace of simple commands and their arguments
after they are expanded and before they are executed. -o xtrace
更新:
BTW,可以在没有脚本修改的情况下设置开关。
例如,我们有脚本t.sh
:
#!/bin/bash
echo "before false"
false
echo "after false"
并希望跟踪此脚本:bash -x t.sh
output:
+ echo 'before false'
before false
+ false
+ echo 'after false'
after false
例如,我们想跟踪脚本并在某些命令失败时停止(在我们的例子中,它将通过命令false
完成):bash -ex t.sh
output:
+ echo 'before false'
before false
+ false
答案 1 :(得分:3)
这些内容记录在手册页set
部分的SHELL BUILTIN COMMANDS
下:
-e
将导致Bash退出
-x
将在执行命令之前打印命令
答案 2 :(得分:1)