跳到主要内容

&& 和 ; 的区别

前言

在 Linux Shell 中执行多个命令时经常会看到 command && command 或者 command ; command 的写法。

这两种写法唯一的区别就是两个命令之间的分隔符: &&;

分隔符说明
&&前一个命令执行成功,才会继续执行之后的命令。如果前一个命令执行失败,则取消继续执行后面的命令。
;无论前一个命令成功与否,都执行后面命令。

&& 示例

前一个命令执行成功,才会继续执行之后的命令:

$ cd book && cat README
Hello World

如果前一个命令执行失败,则取消继续执行后面的命令:

$ cd unknowndir && cat README
-bash: cd: unknowndir: No such file or directory

; 示例

无论前一个命令成功与否,都执行后面命令:

$ cd unknowndir ; cat README
-bash: cd: unknowndir: No such file or directory
cat: README: No such file or directory