加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 使用set -e为程序的退出状态提供通用解决方案

发布时间:2020-12-16 01:13:44 所属栏目:安全 来源:网络整理
导读:我现在正在使用 Bash进行编程,并且我使用set -e,因为在程序失败时继续执行脚本几乎不是想要的行为. 当它是我使用||如果我不需要退出代码. 如果我需要退出代码,我将执行包装如下: set +ecall_I_need_the_exit_code with few argumentsRV="$?"set -e# use "$R
我现在正在使用 Bash进行编程,并且我使用set -e,因为在程序失败时继续执行脚本几乎不是想要的行为.

当它是我使用||如果我不需要退出代码.

如果我需要退出代码,我将执行包装如下:

set +e
call_I_need_the_exit_code with few arguments
RV="$?"
set -e
# use "$RV" somewhat

但是,它很冗长,我很少切换设置e和设置-e引入恼人的错误.

有没有办法创建一个执行命令的函数,并为退出代码设置一个已知变量?

像这样的东西(伪代码):

safe_call( call_I_need_the_exit_code(with,few,arguments) )
# use "$RV" somewhat

其中safe_call基本上是前一段代码.这将使我的代码更容易编写和阅读…

原因||真正的工作是条件在set -e下是安全的.这可以轻松扩展到您的场景.
command && rv=0 || rv=$?

另外,你应该avoid uppercase for your private variables.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读