写shell脚本的一种开头方式,给你的脚本加个保险
- shell脚本这种解释性语言的程序通常在执行的时候会跳过报错的语句继续往下执行
- 我们使用
set -e
确保在脚本发生错误的第一时间就停下,以免发生后边不可挽回的结果 - 所以在一个shell脚本的开头,尤其是测试阶段,我们通常可以加上以下字段
set -e
[ -n "$SUNTEST_DEBUG" ] && set -x
-
脚本只要发生错误,就终止执行。set -e根据返回值来判断一个命令是否运行失败。
-
写脚本的时候要注意,如果需用用到返回值来进行其他判断,则使用set -e来推出程序并不是一个好主意。
-
使用set -x 可以定位到哪个地方出问题了,-n STRING 字符串是否不空,不空为真,空为假