zoukankan      html  css  js  c++  java
  • linux环境中,多个命令之间,通过&& ||执行,命令之间执行的逻辑是什么?

    需求描述

      最近在写一个脚本的时候,要判断一个文件是否存在,有怎么样,没有就创建,这个时候

      看到了一个test 结合 || 或者 &&的写法,就查看了下资料记录下是怎么个玩法。

    操作过程

    1.判断一个脚本是否存在,如果存在就提示文件存在

    [mysql@testvm01 baks]$ ls -l
    total 0
    -rw-rw-r--. 1 mysql mysql 0 Jan  9 14:33 innobin.log
    [mysql@testvm01 baks]$ test -e innobin.log && echo "file exists"        #cmd1&&cmd2的方式,cmd1执行文件存在,反馈状态值是0,然后执行cmd2
    file exists

    2.判断一个脚本是否存在,如果不存在就提示不存在

    [mysql@testvm01 baks]$ ll
    total 0
    -rw-rw-r--. 1 mysql mysql 0 Jan  9 14:33 innobin.log
    [mysql@testvm01 baks]$ test -e innobinNew.log || echo "file not exists"   #cmd1||cmd2的方式,cmd1的返回状态值$?不是0,那么执行了cmd2.这里cmd1执行了,但是文件不存在
    file not exists

    小结

    linux环境中,多个命令执行,有以下逻辑。

      cmd1 && cmd2 && cmd3                      #如果cmd1执行完毕,执行的返回状态是0,那么就执行cmd2,如果cmd2执行且返回状态是0,执行cmd3,如此进行下去。

      cmd1||cmd2||cmd3                                #如果cmd1执行且返回状态不是0,执行cmd2,如果cmd2执行且返回状态值不是0,执行cmd3,依次进行下去。

    文档创建时间:2019年1月9日14:38:59

  • 相关阅读:
    谨以此文纪念一周的心血历程
    面向对象初调用:foolish 电梯
    洛谷 1016 旅行家的预算
    洛谷 1514 引水入城
    洛谷 3178 树上操作
    洛谷 3811 【模板】乘法逆元
    洛谷 1156 垃圾陷阱
    洛谷 1363 幻想迷宫
    洛谷 1736 创意吃鱼法
    洛谷 1436 棋盘分割
  • 原文地址:https://www.cnblogs.com/chuanzhang053/p/10244288.html
Copyright © 2011-2022 走看看