bash 退出状态中 -e、-u 和 -o pipefail 的区别
Difference of -e, -u and -o pipefail in bash exit status
正在尝试正确保护 bash 脚本中的非零退出。
-e、-u 和-o pipefail 有什么区别?
-o pipefail 不足以以错误代码退出?
set -e
:如果命令以非零状态退出,则立即退出。
set -u
: 如果你试图访问一个未定义的变量,那是一个错误。
set -o pipefail
:如果管道中的任何命令return是非零退出代码,则整个管道的return代码是最后一个失败命令的退出代码。
正在尝试正确保护 bash 脚本中的非零退出。
-e、-u 和-o pipefail 有什么区别?
-o pipefail 不足以以错误代码退出?
set -e
:如果命令以非零状态退出,则立即退出。
set -u
: 如果你试图访问一个未定义的变量,那是一个错误。
set -o pipefail
:如果管道中的任何命令return是非零退出代码,则整个管道的return代码是最后一个失败命令的退出代码。