为什么这不能按预期工作?
$ false && { echo ok; echo ok; } && { echo notOK; }
Run Code Online (Sandbox Code Playgroud)
而这不是:
$ false && { echo ok; echo ok; } || { echo notOK; }
Run Code Online (Sandbox Code Playgroud)
我没看到!
这就是方法&&和||工作。
&& 如果左侧以“真”值 (0) 结束,则执行右侧。
|| 如果左侧以“假”值(!0)结束,则执行右侧。
false && { echo ok; echo ok } || { echo notOK; }
Run Code Online (Sandbox Code Playgroud)
是这样处理的:
false 返回 1&&不执行`{ echo ok; echo ok }' 因为左侧不是 0||确实执行,{ echo notOK; }因为左侧不是 0