shell 中的$? 参数用于标识上一个命令的返回值,0 表示命令执行成功,否则失败!

if [ $? -eq 0 ] 
then
    "Success!"
else
    "Failed!"
fi

但是通常情况下,命令如果错误的话,本身就会抛出异常,例如:

#! /bin/sh
which abc
if [ $? -eq 0 ] 
then
    echo "Success!"
else
    echo "Failed!"
fi

当命令abc 不存在的时候,会有以下输出:

which: no abc in (/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/git-2.16.0/bin)
Failed!

如果不想要这条输出,可以把which abc 改成which abc 2 > /dev/null

最后修改:2018 年 01 月 21 日
如果觉得我的文章对你有用,请随意赞赏