&&
使用和执行多个命令有什么区别;
?
例子:
echo "Hi\!" && echo "How are you?"
和
echo "Hi\!"; echo "How are you?"
答案1
在 shell 中,&&
和 的;
相似之处在于它们都可以用来终止命令。不同之处在于&&
也是一个条件运算符。 With;
后面的命令总是被执行,但是 with&&
后面的命令只有在第一个命令成功的情况下才会被执行。
false; echo "yes" # prints "yes"
true; echo "yes" # prints "yes"
false && echo "yes" # does not echo
true && echo "yes" # prints "yes"
;
换行符与终止命令时可以互换。
答案2
&&
和||
是布尔运算符。 && 是逻辑与运算符,bash 使用捷径评价,因此仅当整个表达式有可能为 true 时才执行第二个命令。如果第一个命令被视为 false(以非零退出代码返回),则整个 AND 表达式永远不会变为 true,因此无需计算第二个命令。
相同的逻辑类似地适用于逻辑 OR,||:如果第一个命令成功,则整个 OR 表达式将变为 true,因此无需计算第二个命令。