在Bash中,可以使用特殊变量$?来检查命令的返回值。$?保存着上一个命令的退出状态码,通常用于判断命令是否执行成功。
如果命令执行成功,$?的值为0;如果命令执行失败,$?的值为非零。
以下是一些常见的检查命令返回值的方法:
- 使用if语句:if [ $? -eq 0 ]; then
echo "命令执行成功"
else
echo "命令执行失败"
fi
- 直接使用$?进行判断:if [ $? -eq 0 ]; then echo "命令执行成功"; else echo "命令执行失败"; fi
- 使用逻辑与运算符&&:command && echo "命令执行成功" || echo "命令执行失败"这种方式会先执行command命令,如果返回值为0,则执行echo "命令执行成功";否则执行echo "命令执行失败"。
- 使用逻辑或运算符||:command || echo "命令执行失败"这种方式会先执行command命令,如果返回值为非零,则执行echo "命令执行失败"。
需要注意的是,$?的值只代表上一个命令的退出状态码,如果在检查$?之前执行了其他命令,$?的值可能已经被修改。因此,在检查命令返回值之前,最好将其保存到一个变量中。
以上是关于如何检查命令的返回值的方法。在实际应用中,可以根据具体的需求选择合适的方式进行判断和处理。