默认 shell 遇到错误会继续往下跑,变量拼错变成空字符串,管道中间失败还发现不了。加上 set -e(出错即退)、-u(未定义变量报错)、-o pipefail(管道任一段失败即失败),能挡掉大量运维事故。
(本文为归档摘要,全文整理中。)