我遇到了这样的if / then语句:
if ! foo ; then
echo "blah"
exit 1
fi
具体if !
是什么意思?“如果结果foo
不正确?” “如果退出代码foo
不为0”?
!
反转命令退出状态的含义-它是POSIX Shell语法的一部分,而不是的一部分if
。根据POSIX规范:
如果保留字!如果不在管道之前,则退出状态应为管道中最后指定的命令的退出状态。否则,退出状态应为最后一条命令的退出状态的逻辑非。也就是说,如果最后一条命令返回零,则退出状态应为1;否则,退出状态应为1。如果最后一条命令返回的值大于零,则退出状态应为零。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句