zoukankan      html  css  js  c++  java
  • shell编程中的if语句

    if语句在任何编程中都是必不可少、至关重要的分支语句,shell也是如此,只不过各种编程中的方式和格式有点不太一样

    shell编程中的if语句基本格式如下:

    if [ X$1 = XA ];then
        command;
    elif [ X$1 = XB ];then
        command;
    else
        command;
    fi
    

    注意:[ ]前后都有空格和if以及变量分开

    也可以写成如下形式:

    if test X$1 = XA;then
        command
    elif test X$1 = XB;then
        command
    else
        command
    fi

    下面是一些常用的比较符号

    数值比较相关参数:
    -eq 等于,如:if [ "$a" -eq "$b" ] 
    -ne 不等于,如:if [ "$a" -ne "$b" ] 
    -gt 大于,如:if [ "$a" -gt "$b" ] 
    -ge 大于等于,如:if [ "$a" -ge "$b" ] 
    -lt 小于,如:if [ "$a" -lt "$b" ] 
    -le 小于等于,如:if [ "$a" -le "$b" ] 
    大于(需要双括号),如:(("$a" > "$b")) 
    >= 大于等于(需要双括号),如:(("$a" >= "$b")) 

    字符比较相关参数:
    = 等于,如:if [ "$a" = "$b" ] 
    == 等于,如:if [ "$a" == "$b" ],与=等价 

    文件比较:
    f1-nt f2      f1比f2修改时间新则返回真
    f1-ot f2      f1比f2修改时间旧则返回真


    [[ $a == z* ]] # 如果$a以"z"开头(模式匹配)那么将为true 
    2 [[ $a == "z*" ]] # 如果$a等于z*(字符匹配),那么结果为true 
    3 [ $a == z* ] # File globbing 和word splitting将会发生 
    4 [ "$a" == "z*" ] # 如果$a等于z*(字符匹配),那么结果为true 

    普通判断
    -a   and
    -o   or
    !       非

    命令间使用如下and和or
    &&  and
    ‖    or

    文件类
    string   字符串非空
    -z string    为空则真
    -n string    非空则真
    -e FILE       文件存在为真
    -f file         文件为普通文件为真
    -d file        为目录时为真
    -r file    文件是否有读权限
    -w file 文件是否有写权限
    -x file   文件是否有执行权限
    -s file       如果file存在且大小不为0则为真
    -O file      如果file存在且属于有效uid则为真
    -g  file文件是否具有sgid
    -G file   如果file存在且属于有效gid则为真
    -u  file文件是否有suid
    -k  file是否有粘滞位

    关于本篇内容如有转载请注明出处;技术内容的探讨、纠错,请发邮件到70907583@qq.com
  • 相关阅读:
    JQuery学习四(过滤选择器)
    JQuery学习三(隐式迭代和节点遍历)
    JQuery学习二(获取元素控件并控制)
    JQuery学习一
    Dom中select练习
    DOM动态操纵控件案例
    DOM学习控件定位和案例
    DOM案例五星评分控件
    DOM动态增加控件
    DOM用TagName操作标签
  • 原文地址:https://www.cnblogs.com/watertaro/p/9220928.html
Copyright © 2011-2022 走看看