如何提取命令的退出代码并在条件中使用它?例如看下面的脚本:
i=4
if [[ $i -eq 4 && $(command) -eq 0 ]]
then
echo "OK"
else
echo "KO"
fi
Run Code Online (Sandbox Code Playgroud)
如果这两个条件都满足,脚本应该做一些事情。在第二种情况下,我需要检查退出状态(而不是上面给出的脚本中的命令输出),以了解命令是否成功。
Kus*_*nda 20
if [ "$i" -eq 4 ] && command1; then
echo 'All is well'
else
echo 'i is not 4, or command1 returned non-zero'
fi
Run Code Online (Sandbox Code Playgroud)
随着$(command) -eq 0(在你的代码)你测试输出的command,而不是它的退出代码。
注意:我使用了标准实用程序的名称command1而不是command原样command。
$(somecmd)将捕获 的输出somecmd,如果要检查命令的退出代码,只需将其if直接放在语句的条件部分
i=4
if [[ $i -eq 4 ]] && false ; then
echo this will not print
fi
if [[ $i -eq 4 ]] && true ; then
echo this will print
fi
Run Code Online (Sandbox Code Playgroud)