【发布时间】:2018-05-16 19:25:53
【问题描述】:
抱歉,如果这是重新发布。我在发布之前进行了搜索(没有运气)。
"bash -e" 如果有任何错误,将会出错/失败。它不包括“bash -u”条件吗?如果未设置参数,使用该参数的命令是否会失败并被“bash -e”捕获?
在这种情况下,“bash -eu”不等于“bash -e”吗?
【问题讨论】:
-
否 - 只需在命令行上尝试:
set -e; echo $idontexist- 退出状态为 0,set -e不在乎。 -
-eu是我们在欧洲的做法。u有助于意外引用未定义的变量。e在未检查的错误上使脚本失败。阅读友好手册#rtfm。