如何使用'IF'语句检查退出状态 [英] How to check the exit status using an 'if' statement

查看:43
本文介绍了如何使用'IF'语句检查退出状态的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

检查if语句中的退出状态以回显特定输出的最佳方式是什么?

我想是

if [ $? -eq 1 ]
then
   echo "blah blah blah"
fi

我还遇到的问题是exit语句在if语句之前,这仅仅是因为它必须具有该退出代码。此外,我知道我做错了什么,因为退出显然会退出程序。

推荐答案

运行的每个命令都有退出状态。

该检查正在查看在该行运行之前最近完成的命令的退出状态。

如果您希望脚本在测试返回TRUE时退出(上一个命令失败),则将exit 1(或其他任何内容)放入if挡路中echo之后。

也就是说,如果您正在运行该命令并希望测试其输出,则使用以下内容通常更为简单。

if some_command; then
    echo command returned true
else
    echo command returned some error
fi

或使用!表示否定

来扭转局面

if ! some_command; then
    echo command returned some error
else
    echo command returned true
fi

请注意,这两者都不关心错误代码是什么。如果您知道您只关心特定的错误代码,则需要手动检查$?

这篇关于如何使用'IF'语句检查退出状态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆