• shell中的if语句


    语法格式

    if command;then

      commands

    fi

    其中的command包含如下:

    shell command

    任何shell命令,如果shell命令返回0,代表true,否则,代表false。并且多个command可以同时作为if的判断条件,即可以写为:

      if command1;command2;command3;then

        commands

      fi

    此时如果command3返回的结果是0,则运行commands,否则不运行,虽然command1和command2也会运行,但是它们运行的返回结果没有任何影响

     test condition 或者 [ condition ]

    两者等价,其中的condition可以是数字比较,可以是字符串比较,可以是文件比较:

    数字比较

    num1 eq num2 等于

    num1 ne num2 不等于

    num1 gt num2 大于

    num1 ge num2 大于等于

    num1 lt num2 小于

    num1 le num2 小于等于

    字符串比较

    str1 = str2 等于

    str1 != str2 不等于

    str1 > str2 大于

    str1 < str2 小于

    -n str str的长度是否大于0

    -z str str的长度是否为0

    文件比较

    -d file file是否为目录

    -f file  file是否为文件

    -e file file是否存在

    -s file file存在并且不为空

    -r file file存在且可读

    -w file file存在且可写

    -x file file存在且可以执行

    -O file file存在并且属于当前用户

    -G file file存在并且属于当前用户所在的initial group(也叫default group)

    file1 -nt file2 file1是否比file2新

    file1 -ot file2 file1是否比file2旧

    condition也可以复合的,通过&& 或者 || 连接:

    [ condition1 ] && [ condition2]

    [ condition1 ] || [condition2 ]

  • 相关阅读:
    [CLYZ2017]day10
    标签
    FJOI2017一试滚粗
    [学习笔记]一些求gcd的方法的证明
    WC2017有感
    [学习笔记]splay
    [CLYZ2017]day9
    [CLYZ2017]day6
    转:Asp.net模板引擎技术(html)
    精华:ASP.NET开发网站程序安全解决方案(防注入等)
  • 原文地址:https://www.cnblogs.com/chaoguo1234/p/5720728.html
Copyright © 2020-2023  润新知