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

如何检查$?在unix shell脚本中不等于零?

发布时间:2020-12-15 18:53:51 所属栏目:安全 来源:网络整理
导读:我有一个脚本,使用测试命令来检查$? (最后执行命令的返回码)不等于零.代码如下: – $?是执行的最后一个命令的退出状态. if (test $? -ne 0)then//statements//fi 但是,这种验证方式对于字符串不起作用,因为语法错误.请建议一个合适的替代方案. 首先将其放
我有一个脚本,使用测试命令来检查$? (最后执行命令的返回码)不等于零.代码如下: –

$?是执行的最后一个命令的退出状态.

if (test $? -ne 0)
then
//statements//
fi

但是,这种验证方式对于字符串不起作用,因为语法错误.请建议一个合适的替代方案.

首先将其放在一个变量中,然后尝试测试它,如下所示
ret=$?
if [ $ret -ne 0 ]; then
        echo "In If"
else
        echo "In Else"
fi

这应该有帮助.

编辑:如果上述不按预期方式工作,那么有可能您不使用$?在正确的地方.它必须是您需要捕获返回状态的命令之后的下一行.即使目标之间有任何其他单个命令,并且捕获它的返回状态,您将检索此中间命令的returns_status,而不是您期望的返回状态.

(编辑:李大同)

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

    推荐文章
      热点阅读