ben*_*rad 2 bash shell-script test exit-status
我需要理解这个命令:
[ $? == 1 ] && return 0
Run Code Online (Sandbox Code Playgroud)
该表达式的$?
计算结果为上一个命令的退出代码。
&&
是一个命令分隔符,当且仅当第一个命令返回零退出代码时,它才会运行第二个命令。
[
或者test
是做各种对比测试的shell工具。
我应该指出这==
是在这里使用的错误测试,因为它用于字符串比较;-eq
是数值比较的相等检验。
So: [ $? -eq 1 ] && return 0
将查看前一个命令的退出代码,并将其与1
. 如果匹配,return 0
则将执行该命令(从而绕过我认为是此测试所在的函数中的后续命令)。
的使用之间的区别==
,并-eq
是[ 01 -eq 1 ]
是真实的,同时[ 01 == 1 ]
是假的。