zoukankan      html  css  js  c++  java
  • 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 ]

  • 相关阅读:
    算法导论————KMP
    KMP算法
    几个很好的OJ网站
    查找(二分、hash、桶)
    动态规划
    贪心(未完待续)
    搜索的题
    codeVS 1031 质数环
    《将博客搬至CSDN》
    HDU1717小数化分数2
  • 原文地址:https://www.cnblogs.com/chaoguo1234/p/5720728.html
Copyright © 2011-2022 走看看