Linux 连续运行多条命令

时间:2024-12-16 10:04:26

每条命令使用";"隔开。则不管前边的命令运行成功与否都会继续运行下一条命令

这里,有益将第二条命令中的echo多写了一个o。命令运行出错,但并不影响兴许命令的运行

能够这么想,假设用分号来间隔命令,就相当于将命令分隔在了不同的行,不管前一行的命令成功或失败,都不影响下一行命令的运行。

$ echo 1; echoo 2; echo 3; echo 4

1

-bash: echoo: command not found

3

4



若命令间使用"&&"隔开,则仅仅有前边的命令运行成功了再会继续运行后边的命令

这里。有益将第二条命令中的echo多写了一个o,命令运行出错,echo 3便没有运行。因此echo4也没运行

$ echo 1 && echoo 2 && echo 3 && echo 4

1

-bash: echoo: command not found



若命令间使用"||"隔开。则仅仅有前边的命令运行失败了再回继续运行后边的命令

这里echo 1运行成功则没有继续运行后边的echo 2。继而没有运行echo 3,echo 4

echo 1 || echo 2 || echo 3 || echo 4

1

这里echoo 1运行失败,因此開始运行echo 2,运行成功。因而后边的echo 3。 echo4都没运行

echoo 1 || echo 2 || echo 3 || echo 4

-bash: echoo: command not found

2



依据以上规则分析几个比較特殊的样例,也即混合了集中分隔符的样例

echo 1运行成功了,紧接着后边有两个"||"因此echo 2, echo 3都没运行,后边遇到了&&。而这之前的命令组合被觉得是运行成功的,因此echo 4得以运行

$ echo 1 || echo 2 || echo 3 &&  echo 4 

1

4

echo 1运行成功了,继而运行echoo 2,运行失败,因此 echo 3不被运行。后边遇到了"||",而知之前的命令组合被觉得是运行失败的,因此echo 4得以运行

$  echo 1 && echoo 2 && echo 3 || echo 4

1

-bash: echoo: command not found

4



echo 1运行成功了,继而运行echoo 2。运行失败,因此 echo 3不被运行。后边遇到了";",相当于把后边的命令放到了新行。这种话不管怎样后边的命令都会运行。因此echo 4得以运行

$ echo 1 && echoo 2 && echo 3 ; echo 4

1

-bash: echoo: command not found

4



echoo 1运行失败,后边为"||"因此echo 2得以运行,echo 2运行成功,紧接着后边有两个"||"因此echo 3。echo 4没有运行,后边遇到了&&,而之前的命令组合被觉得是运行成功的,因此echoo5得以运行,运行错误发生,因此echo 6没有被运行,但后边是";"。所以不管怎样echo 7都会被运行

$ echoo 1 || echo 2 || echo 3 || echo 4 && echoo 5
&& echo 6 ; echo 7

-bash: echoo: command not found

2

-bash: echoo: command not found

7

相关文章