【shell】Linux 连续执行多条命令的方法和区别

目录

逐条命令执行

前一命令成功才会执行后一命令

前一命令失败才会执行后一命令

混合了集中分隔符的例子


原文:https://www.jb51.net/article/105993.htm

逐条命令执行

前一命令成功与否都会继续执行下一条命令

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

这里,故意将第二条命令中的echo多写了一个o,命令执行出错,但并不影响后续命令的执行

 

前一命令成功才会执行后一命令

 

前一命令执行成功了才会继续执行后边的命令

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

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

 

前一命令失败才会执行后一命令

前一命令执行失败了才会继续执行后边的命令

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

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

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

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

混合了集中分隔符的例子

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

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

 

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

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

 

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

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

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

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

posted on 2022-10-04 01:23  bdy  阅读(135)  评论(0编辑  收藏  举报

导航