zoukankan      html  css  js  c++  java
  • shell中条件判断语法与判断条件小结

    1. IF条件判断语法: 
      

    if A
    then
       dosth
    elif B
       dosth
    else
       dosth
    fi


      
    2. 判断条件: 
      
    2.1 字符串判断 
      
    str1 = str2      当两个串有相同内容、长度时为真 
    str1 != str2      当串str1和str2不等时为真 
    -n str1        当串的长度大于0时为真(串非空) 
    -z str1        当串的长度为0时为真(空串) 
      
    2.2 数字的判断 
      
    int1 -eq int2    两数相等为真 
    int1 -ne int2    两数不等为真 
    int1 -gt int2    int1大于int2为真 
    int1 -ge int2    int1大于等于int2为真 
    int1 -lt int2    int1小于int2为真 
    int1 -le int2    int1小于等于int2为真 
      
    2.3 文件的判断 
      
    -e file            若文件存在,则为真 
    -d file            若文件存在且是一个目录,则为真
    -b file            若文件存在且是一个块特殊文件,则为真
    -c file            若文件存在且是一个字符特殊文件,则为真
    -f file            若文件存在且是一个规则文件,则为真
    -g file            若文件存在且设置了SGID位的值,则为真
    -h file            若文件存在且为一个符合链接,则为真
    -k file            若文件存在且设置了"sticky"位的值
    -p file            若文件存在且为一已命名管道,则为真
    -r file            若文件存在且可读,则为真
    -s file            若文件存在且其大小大于零,则为真
    -u file            若文件存在且设置了SUID位,则为真
    -w file            若文件存在且可写,则为真
    -x file            若文件存在且可执行,则为真
    -o file            若文件存在且被有效用户ID所拥有,则为真 
      
    2.4 逻辑判断 
      
    !expr              若expr为假则复合表达式为真。expr可以是任何有效的测试表达式
    expr1 -a expr2     expr1和expr2都为真则整式为真
    expr1 -o expr2     expr1和expr2有一个为真则整式为真  
      
    3. 系统变量 
      
    $n                 该变量与脚本被激活时所带的参数相对应。n是正整数,与参数位置相对应($1,$2...) 
    $?                 前一个命令执行后的退出状态
    $#                 提供脚本的参数号

    $*                 所有这些参数都被双引号引住。若一个脚本接收两个参数,$*等于$1$2 
    $0                 正在被执行命令的名字。对于shell脚本而言,这是被激活命令的路径
    $@                 所有这些参数都分别被双引号引住。若一个脚本接收到两个参数,$@等价于
    $1$2
    $$                 当前shell的进程号。对于shell脚本,这是其正在执行时的进程ID
    $!                 前一个后台命令的进程号

    贵有恒,何必三更起五更睡;最无益,只怕一日暴十寒
  • 相关阅读:
    xdoj1194----(bsgs-用数组实现链表 真的是好啊)
    hdoj-4417(做法二 树状数组离线解法,对所有的查询先保存进行排序后有序的查询) 好腻害!
    线段树专题2-(加强版线段树-可持续化线段树)主席树 orz! ------用于解决区间第k大的问题----xdoj-1216
    线段树专题1(用于解决区间问题)
    ccf-170902-公共钥匙盒(模拟)
    字典(NSDictionary)的使用
    ios 加载资源中的Html
    iOS 使用自定义手势屏蔽按钮解决方法/UITapGestureRecognizer屏蔽Button
    有时UIGestureRecognizer手势识别不出来问题分析及方案
    XCode的一些调试技巧
  • 原文地址:https://www.cnblogs.com/rayong/p/6839828.html
Copyright © 2011-2022 走看看