• 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

  • 相关阅读:
    [转] egg(28)--mongoose使用聚合管道
    [转] mongoose的populate
    [转]express常用中间件
    [转] SuperAgent使用文档
    [转] node爬虫之gbk网页中文乱码解决方案
    [转] js日期对象Date对象方法 时间方法
    [转] Nodejs学习笔记(十四)— Mongoose介绍和入门
    [转] 深入理解vue 一些底层原理
    [转] Nginx之八 URL重写(rewrite)配置
    随笔
  • 原文地址:https://www.cnblogs.com/chuanzhang053/p/10244288.html
Copyright © 2020-2023  润新知