shell中防止意外发生的两个实用的设置

set -o nounset

set -o errexit

set -o nounset

在默认情况下,遇到不存在的变量,会忽略并继续执行,而这往往不符合预期,加入该选项,可以避免恶果扩大,终止脚本的执行。

画外音:有些变量名的手误,会让人崩溃的调试半天,通过这个方式,这类手误秒发现。

set -o errexit

在默认情况下,遇到执行出错,会跳过并继续执行,而这往往不符合预期,加入该选项,可以避免恶果扩大,终止脚本的执行。

画外音:有些Linux命令,例如rm的-f参数可以强制忽略错误,此时脚本便无法捕捉到errexit,这样的参数在脚本里是不推荐使用的。

原文地址:https://www.cnblogs.com/xzlive/p/11101478.html