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

  • 相关阅读:
    山屋惊魂 · 大模拟 · 码长破千 · 祭
    CSP-S 模拟92
    CSP-S 模拟91
    关于我
    CSP-S 模拟76
    [2020 年联考 A 卷] HEOI 2020 退役记
    csp-s 2019 退役记
    论人贵有自知之明的重要性
    [NOI2018] 你的名字
    HDU 3446 daizhenyang's chess
  • 原文地址:https://www.cnblogs.com/chuanzhang053/p/10244288.html
Copyright © 2011-2022 走看看