我遇到了一些奇怪的行为(可能并不奇怪,但我不明白!)
我想使用 bash 速记语法编写一些 if / e,se 语句:
[[ 1 -eq 1 ]] && echo "true" || echo "false"
上述代码的输出给出:
true
现在上面的代码实际上工作正常。但是下一个代码不会:
[[ 1 -eq 1 ]] && infMsg "true" || infMsg "false"
infMsg只是一个函数。上述代码的输出给出:
true
false
我只希望它说“真实”。
我在 && || 的方式上有什么遗漏吗?语法处理函数的退出代码?