请告诉我。有一个实用程序在某种情况下返回代码 70。我处理这种情况的代码不起作用,我做错了什么?
kesl-control --start-task 1 &> /dev/null
if [[ $? == 0 ]]; then
echo 1
elif [[ $? == 70 ]]; then
echo 2
else
echo 3
fi
理论上,如果返回码是 70,那么我的脚本应该输出2,但在这种情况下它总是输出3。我究竟做错了什么?
请告诉我。有一个实用程序在某种情况下返回代码 70。我处理这种情况的代码不起作用,我做错了什么?
kesl-control --start-task 1 &> /dev/null
if [[ $? == 0 ]]; then
echo 1
elif [[ $? == 70 ]]; then
echo 2
else
echo 3
fi
理论上,如果返回码是 70,那么我的脚本应该输出2,但在这种情况下它总是输出3。我究竟做错了什么?
$?是最后一个命令的退出代码。首先它等于什么
kesl-control。接下来,检查 if 和 $? 中的条件。变得不同 - 取决于条件的结果。要记录结果kesl-control并专门对其执行多项检查,您需要立即将其分配给一个变量。例如,像这样:详细信息在这里
您可以通过以下简单的方式检查此行为:
首先,打印退出代码(exit 45) - 正如预期的那样,它是 45。但是在屏幕上显示之后,echo 命令返回其成功完成的代码 - 0,该代码在第二个 echo 中打印。