Dop*_*oti 8

该表达式的$?计算结果为上一个命令的退出代码。

&& 是一个命令分隔符,当且仅当第一个命令返回零退出代码时,它才会运行第二个命令。

[或者test是做各种对比测试的shell工具。

我应该指出这==是在这里使用的错误测试,因为它用于字符串比较;-eq数值比较的相等检验。

So: [ $? -eq 1 ] && return 0将查看前一个命令的退出代码,并将其与1. 如果匹配,return 0则将执行该命令(从而绕过我认为是此测试所在的函数中的后续命令)。

的使用之间的区别==,并-eq[ 01 -eq 1 ]是真实的,同时[ 01 == 1 ]是假的。

  • 假设想要测试任何错误而不是特定的错误代码,更好的测试应该是 `[ "$?" -ne 0]`。“$?”应该被引用。另外,通常最好只使用`utility || 退出`或`如果!公用事业; 然后退出;fi`。 (2认同)