zoukankan      html  css  js  c++  java
  • Linux连续执行多条命令

    引自:这里

    每条命令使用";"隔开,则无论前边的命令执行成功与否都会继续执行下一条命令
    这里,故意将第二条命令中的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

  • 相关阅读:
    记录java设计模式中适配器模式和装饰器模式和代理模式的区别
    excel工具类记录
    docker搭建图床 chevereto 非常方便
    docker 安装mysql
    rabbitmq学习之路(八)
    理解js中的作用域,作用域链以及闭包
    浏览器解析js的顺序
    javacript 组合使用构造函数模式和原型模式
    js垃圾回收机制与深拷贝和浅拷贝
    ES6 变量的解构赋值
  • 原文地址:https://www.cnblogs.com/yunlongaimeng/p/11571030.html
Copyright © 2011-2022 走看看