use of flags in bash script
Linux中的脚本从以下声明开始:
如果我错了,请纠正我:这可能说明要使用哪个外壳。
我也看过一些剧本说:
旗子的用途是什么-例如
1 2 3 4 5 6 | #!/bin/bash -ex <=> #!/bin/bash set -e -x |
手册页(http://ss64.com/bash/set.html):
1 2 3 4 5 6 7 | -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 |
更新:
顺便说一句,可以在不修改脚本的情况下设置开关。
例如,我们有脚本
1 2 3 4 5 | #!/bin/bash echo"before false" false echo"after false" |
想追踪这个脚本:
1 2 3 4 5 | + echo 'before false' before false + false + echo 'after false' after false |
例如,我们希望跟踪脚本并在某些命令失败时停止(在我们的示例中,它将由命令
1 2 3 | + echo 'before false' before false + false |
这些记录在手册页的
当管道(或简单管线)返回错误时,
-e 将导致bash退出。-x 将大小写bash,以便在执行命令之前打印命令。
1 | -e |
在出现任何错误时退出脚本
1 | -x |
是调试模式
check bash-x命令在bash脚本中set-e是什么意思?