Unix/Linux 脚本中 “set -e” 的作用
2017-12-05 17:57
267 查看
----------------------------------------------------------- #!/bin/bash set -e command 1 command 2 ... exit 0 ----------------------------------------------------------
你写的每个脚本都应该在文件开头加上set -e,这句语句告诉bash如果任何语句的执行结果不是true则应该退出。这样的好处是防止错误像滚雪球般变大导致一个致命的错误,而这些错误本应该在之前就被处理掉。如果要增加可读性,可以使用set -o errexit,它的作用与set -e相同。
使用-e帮助你检查错误。如果你忘记检查(执行语句的结果),bash会帮你执行。不幸的是,你将无法检查$?,因为如果执行的语句不是返回0,bash将无法执行到检查的代码。你可以使用其他的结构:
command if [ "$?"-ne 0]; then echo "command failed"; exit 1; fi could be replaced with
能够被代替为
command || { echo "command failed"; exit 1; }
或者
if ! command; then echo "command failed"; exit 1; fi
如果你有一个命令返回非0或者你对语句执行的结果不关心,那你可以使用command || true,或者你有一段很长的代码,你可以关闭错误检查(不使用set -e),但是我还是建议你保守地使用这个语句。
相关文章推荐
- 【转】Unix/Linux 脚本中 “set -e” 的作用
- Unix/Linux 脚本中 “set -e” 的作用
- Unix/Linux 脚本中 “set -e” 的作用
- Unix/Linux脚本中"set -e"的作用
- Unix/Linux 脚本中 “set -e” 的作用
- Unix/Linux脚本中"set -e"的作用
- Unix/Linux 脚本中 “set -e” 的作用
- Unix/Linux 脚本中 “set -e” 的作用
- Unix/Linux 脚本中 “set -e” 的作用
- Unix/Linux shell脚本中 “set -e” 的作用
- Unix/Linux 脚本中 “set -e” 的作用
- Unix/Linux 脚本中 “set -e” 的作用
- 在linux的shell脚本中,双引号,单引号,以及反单引号的作用介绍,以及env以及set的作用
- Unix/Linux 脚本中 "set -e" 的作…
- 批处理(bat)脚本,可以实现类似Linux/Unix下的alias的作用
- Linux/Unix 脚本中 “set -e”的作用介绍
- Linux系统安装oracle时,orainstRoot.sh,root.sh脚本的作用。
- Linux 脚本中生成日志 set -x
- 解释bash脚本中set -e与set -o pipefail的作用
- linux/unix系统间文件备份脚本