gpt4 book ai didi

shell - 如何检查是否$?在 unix shell 脚本中不等于 0?

转载 作者:行者123 更新时间:2023-12-03 07:45:53 30 4
gpt4 key购买 nike

我有一个脚本,它使用测试命令来检查$?(最后执行命令的返回代码)是否不等于零。代码如下:-

$? 是最后执行的命令的退出状态。

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

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

最佳答案

先放到一个变量中,然后尝试测试一下,如下图

ret=$?
if [ $ret -ne 0 ]; then
echo "In If"
else
echo "In Else"
fi

这应该有帮助。

<小时/>

编辑:如果上述内容未按预期工作,则可能是您没有在正确的位置使用 $?它必须是您需要捕获返回状态的命令之后的下一行。即使目标和您捕获其返回状态之间存在任何其他单个命令,您也将检索此中间命令的 returns_status 而不是您期望的返回状态。

关于shell - 如何检查是否$?在 unix shell 脚本中不等于 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15471264/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com