使用 && 和 ; 执行多个命令之间的区别

使用 && 和 ; 执行多个命令之间的区别

&&使用和执行多个命令有什么区别;

例子:

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,因此无需计算第二个命令。

相关内容