Unix/Linux脚本中"set -e"的作用
2015-12-14 18:02
239 查看
有些脚本中会看到这样的语句:
“set -e” 这句语句告诉bash如果任何语句的执行结果不是true则应该退出。这样的好处是防止错误像滚雪球般变大导致一个致命的错误,而这些错误本应该在之前就被处理掉。如果要增加可读性,可以使用set -o errexit,它的作用与set -e相同。
使用-e帮助你检查错误。如果你忘记检查执行语句的结果,bash会帮你执行。不幸的是,你将无法检查$?,因为如果执行的语句不是返回0,bash将无法执行到检查的代码。你可以使用其他的结构:
|| true,或者你有一段很长的代码,你可以关闭错误检查(不使用set -e),但是我还是建议你保守地使用这个语句。
转自:http://blog.csdn.net/todd911/article/details/9954961
#!/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可被代替为:
command || { echo "command failed"; exit 1; }或者:
if ! command; then echo "command failed"; exit 1; fi如果你有一个命令返回非0或者你对语句执行的结果不关心,那你可以使用command
|| true,或者你有一段很长的代码,你可以关闭错误检查(不使用set -e),但是我还是建议你保守地使用这个语句。
转自:http://blog.csdn.net/todd911/article/details/9954961
相关文章推荐
- Linux多线程编程实例解析
- 嵌入式系统定制工具—yocto_project使用心得
- linux下安装boost
- Linux 下执行Mysql的 sql文件
- linux基础(十六)----linux编程基础----linux条件控制语句----多层嵌套控制结构
- linux基础(十六)----linux编程基础----linux条件控制语句----多层嵌套控制结构
- Linux下如何使用ftp命令对文件传输进行操作
- 51CTO学院精心推荐:学习Linux(必看经典)牛人40天精通Linux运维的学习方法
- Linux版本选择
- linux命令之调试工具strace的深入分析
- Linux中printk和strace命令调试的一些技巧
- Linux下区分物理CPU、逻辑CPU和CPU核数
- linux 64位编译32位protobuf
- linux下查找一个文件夹,find / where / locate使用
- CentOS 6.5 下 QT4 连接 mysql 数据库的步骤
- Linux中线程与CPU核的绑定
- linux 实现VLAN
- CentOS 6.5 下安装配置 mysql
- 在win7下查看linux的Ext2/3/4格式的分区
- 企业生产环境不同业务的Linux分区方案