博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell编程:程序出错继续执行还是出错停止执行?*
阅读量:5956 次
发布时间:2019-06-19

本文共 369 字,大约阅读时间需要 1 分钟。

  hot3.png

shell中每一行执行完之后都会有状态码,下一行命令用$?获得上一行命令的状态码,参考:

在shell中,默认当某行命令执行出错之后,后面的命令会继续执行,这会导致后面的代码会出现不可预知的错误,所以当我们的shell程序出错时,应该立即停止执行shell程序。那应该怎么处理?最简单粗暴的方式是在shell文件中加上set -e。当执行语句的状态码不为0时,直接退出程序。但是有很多情况是要在出错的情况下继续执行的,比如检测hdfs目录是否存在。不存在就新建一个,这个时候可以先暂时关闭set +e,语句运行完之后,再打开set -e。

set -x #启动"-x"选项
要跟踪的程序段
set +x #关闭"-x"选项

也可以使用别的方式。参考:   

转载于:https://my.oschina.net/cjun/blog/716185

你可能感兴趣的文章
coding4fun比赛总结
查看>>
Windows Server 2003 系统安装
查看>>
庖丁解牛获取连接状态数的awk数组命令
查看>>
jQueryMobile新版中导航栏按钮消失的解决方法
查看>>
使用触发器记录oracle用户登陆信息
查看>>
postgresql 用户安全配置
查看>>
一张图看懂normal,static,sealed,abstract 的 区别
查看>>
5 kvm虚拟磁盘扩容
查看>>
关于Ubuntu下apt的一些用法及和yum的比较
查看>>
android随机运算器开发小结1
查看>>
Centos 6.5下NIS服务安装配置
查看>>
我的友情链接
查看>>
MediaPlayer的错误修复
查看>>
网络安全之***手法计中计
查看>>
Struts2拦截器的使用 (详解)
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
面向服务的架构SOA
查看>>
lnmp+lamp编译后,编译参数查看
查看>>
OEL7.2下Oracle11.2.0.4RAC部署
查看>>