shell脚本中的set -e和set -x

ar7v8xwq  于 12个月前  发布在  Shell
关注(0)|答案(2)|浏览(149)

给予有什么不同

set -e
set -x

set -xe

我得到了不同的回答。请帮我澄清一下

evrscar2

evrscar21#

set -x

在执行shell命令之前打印它。这个特性帮助程序员跟踪他们的shell脚本。

set -e

如果一个命令的返回码不为0,并且调用者没有检查它,则shell脚本将退出。这个特性使shell脚本健壮。
set -eset -x经常出现在shell脚本的头部:

set -x
set -e

echo "I am a shell script."

或者使用shell命令:

sh -xe shell_script.sh

参考:http://julio.meroh.net/2010/01/set-e-and-set-x.html

6fe3ivhb

6fe3ivhb2#

你说的大概是bash吧。根据它的manual-e(参见4.3.1节)告诉bash在某些条件下退出(这可能适用于您的脚本)。如果是这种情况,“set -xe“在退出之前可能会比“set -e“后面跟着“set -x“打印更多的跟踪。

相关问题