这是我在 ubuntu 机器上执行的一段 shell 脚本代码:
myProcess
ret="$?"
if [ "${ret}" == "0" ]
then
echo good
else
echo bad "${ret}"
fi
所以逻辑很简单:如果myProcess
返回一个非零的退出状态,那就是坏的,否则是好的。我通过将它隔离到一个单独的脚本并从命令行运行它来测试这段代码。当myProcess
返回 0 时,我得到了good
预期。
但是,当我在生产中运行它时,我得到bad 0
. 因此,即使返回码似乎是 0,if
测试似乎也返回了false
。这里发生了什么?