bash 退出状态中 -e、-u 和 -o pipelinefail 的区别

mik*_*dim 5 bash

试图正确保护 bash 脚本上的非零退出。

-e、-u 和 -o pipelinefail 之间有什么区别?

-o pipelinefail 不足以退出并显示错误代码?

Kar*_*arx 8

set -e:如果命令以非零状态退出,则立即退出。

set -u:如果您尝试访问未定义的变量,则会出现错误。

set -o pipefail:如果管道中的任何命令返回非零退出代码,则整个管道的返回代码是最后一个失败命令的退出代码。