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

  • 相关阅读:
    【转】一个java处理JSON格式数据的通用类
    Oracle数据类型Clob读取
    【网摘】Ibatis调用存储过程
    jQuery实现页面模块拖拽与模块自定义效果.rar
    jspSmartUpload上传下载全攻略
    【转】JSON 入门指南
    【摘选自江苏移动网上营业厅】JS实现无间断向上滚动marquee
    Oracle用户解锁
    js 蒙版进度条(图片)
    java文件夹遍历
  • 原文地址:https://www.cnblogs.com/chuanzhang053/p/10244288.html
Copyright © 2011-2022 走看看