Shell脚本---if判断,条件判断

Shell脚本—if判断,条件判断

  • 条件测试

    单一的顺序结构式脚本过于机械化,脚本执行不够智能,难以处理灵活复杂的系统任务。使用if语句具有判断能里,根据不同的条件来完成不同的任务。

    测试特定的表达式是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值根据命令执行的返回值来做判断($?)
    0 真 执行成功 True
    非0 假 执行失败 False
    test命令测试的两种形式:
    test 条件表达式
    [ 条件表达式 ]#中括号于字符串中间至少包含一个空格,应用更加普遍
    常见的条件测试:文件测试,整数值比较,字符串比较,多个条件的逻辑测试

  • 文件测试

    根据给定的路径名称,判断对应的是文件还是目录,判断文件是否可读,可写,可执行等。

    -d:测试是否为目录directory
    -f:测试是否为文件file
    -e:测试目录或者文件是否存在existe
    -r:测试当前用户是否有读取权限read
    -w:测试当前用户是否有写入权限write
    -x:测试文件是否有执行权限excute
    
  • 整数比较

    根据给定的两个整数值,判断第一个数是否大于,小于,等于第二个数

    -eq :表示等于(=)
    -ne :表示不等于(!=)
    -gt :表示大于(>)
    -lt :表示小于(<)
    -le :表示小于或等于(<=)只需要满足其中的任意一个条件
    -ge :表示大于或等于(>=)只需要满足其中的任意一个条件
    
  • 字符串比较

    检查用户的输入是否符合要求,系统环境是否满足条件

    操作选项:

    =:第一个字符串于第二字符串相同
    !=:表示不相同,!表示取反的意思
    -z:检查字符串是否为空,未定义或赋予控制的变量,一般用于测试变量值
    
  • 逻辑测试

    测试两个条件或多个条件之间的依赖关系

    &&(-a):逻辑 与,而且,和
    ##需要满足所有前提条件,才会执行下一步操作
    
    ||(-o):逻辑 或,或者
    ##只需要满足任意一个前提条件,就会执行下一步
    
    !:逻辑 否 !写到[]里外都可以
    ##取反的意思,若满足了前提条件,则不执行下一步,若不满足前提条件,则执行下一步
    
  • 多分支结构

    elif的数量不限制,数量多时建议使用case

    if [ 条件判断语句1 ]
    then
    	命令序列1
    elif [ 条件判断语句2 ]
    then
    	命令序列2
    else
    	命令序列3
    fi
    
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值