linux – bash执行整个脚本,但如果任何中间作业失败,则返回退出代码> 0
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux – bash执行整个脚本,但如果任何中间作业失败,则返回退出代码> 0,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含634字,纯文字阅读大概需要1分钟。
内容图文
我有一个bash脚本script.sh如下:
./step1.sh
./step2.sh
./step3.sh
每个步骤* .h脚本都会返回正确的错误代码,无论它们是否失败.
现在,如果step3.sh失败,我会得到一个合适的退出代码,但是如果step1.sh或step2.sh失败并且step3.sh成功,那么我得到status = 0,这是不理想的.
我知道我可以使用
set -e
在我的脚本的顶部,如果任何中间步骤失败,使脚本失败,但这不是我想要的.
我想知道是否有一个简单的选项可用于执行每个中间脚本(即使其中一个失败)但返回退出代码> 0如果其中任何一个失败而无需手动跟踪每个退出代码.
解决方法:
您可以捕获错误:
#!/bin/bash
echo "test start."
trap 'rc=$?' ERR
./error.sh
./script2.sh
echo "test done."
return ${rc}
有关陷阱如何工作的更多信息,请参阅trap.
内容总结
以上是互联网集市为您收集整理的linux – bash执行整个脚本,但如果任何中间作业失败,则返回退出代码> 0全部内容,希望文章能够帮你解决linux – bash执行整个脚本,但如果任何中间作业失败,则返回退出代码> 0所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。