我需要理解这个命令:
[ $? == 1 ] && return 0
答案1
该表达式的$?
计算结果为上一个命令的退出代码。
&&
是一个命令分隔符,当且仅当第一个命令返回退出代码为零时,它将运行第二个命令。
[
或者test
是一个shell工具,可以进行各种对比测试。
我应该指出,==
这里使用的测试是错误的,因为这是为了细绳比较;-eq
是平等检验数值比较。
因此: [ $? -eq 1 ] && return 0
将查看前一个命令的退出代码,并将其与1
.如果存在匹配,return 0
则将执行该命令(从而绕过我认为该测试所在函数中的后续命令)。
==
和 的用法之间的区别-eq
是,[ 01 -eq 1 ]
true[ 01 == 1 ]
为 false。