zoukankan      html  css  js  c++  java
  • shell编程学习笔记(八):Shell中if判断的使用

    一、if的语法:

    1、单分支语句结构

    if [ 条件表达式 ]; then
        指令 
    fi

    2、双分支语句结构

    if [ 条件表达式 ]; then 
        指令一 
    else 
        指令二 
    fi

    3、多分支语句结构

    if [ 条件表达式 ]; then
       指令一
    elif [ 条件表达式 ]; then
       指令二
    else
       指令三
    fi

    上面直接给出了多分支if语句的一个实例。从上面三个结构中可以看出,条件表达式的左右都要有空格

    二、条件表达式的内容

    1、字符串的判断

    str1 = str2      当两个串有相同内容、长度时为真 
    str1 != str2      当串str1和str2不等时为真 
    -n str1        当串的长度大于0时为真(串非空) 
    -z str1        当串的长度为0时为真(空串) 
    str1           当串str1为非空时为真

    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为真

    3、文件的判断

    -r file     用户可读为真 
    -w file     用户可写为真 
    -x file     用户可执行为真 
    -f file     文件为正规文件为真 
    -d file     文件为目录为真 
    -c file     文件为字符特殊文件为真 
    -b file     文件为块特殊文件为真 
    -s file     文件大小非0时为真 
    -t file     当文件描述符(默认为1)指定的设备为终端时为真

    4、复杂逻辑判断

    条件表达式中可能有多个条件,需要使用与或非等逻辑操作。

    -a         与 
    -o        或 
    !        非

    三、实例

    if [ $score -ge 0 ]&&[ $score -lt 60 ];then
            echo "sorry,you are lost!"
    elif [ $score -ge 60 ]&&[ $score -lt 85 ];then
            echo "just soso!"
    elif [ $score -le 100 ]&&[ $score -ge 85 ];then
            echo "good job!"
    else
            echo "input score is wrong , the range is [0-100]!"
    fi

    当然,上面的实例也可以用 -a 来改写:

    if [ $score -ge 0 -a $score -lt 60 ];then
            echo "sorry,you are lost!"
    elif [ $score -ge 60 -a $score -lt 85 ];then
            echo "just soso!"
    elif [ $score -le 100 -a $score -ge 85 ];then
            echo "good job!"
    else
            echo "input score is wrong , the range is [0-100]!"
    fi
  • 相关阅读:
    Win7 中出现图标显示不全或消失的解决方法
    动态控制ToolStrip上ToolStripButton的图标大小
    TS——类型断言
    TS——函数的类型
    TS之对象类型——接口
    TS——联合类型
    Git文件合并
    1-1、作用域深入和面向对象
    webStrom2017.1版本如何添加vue.js插件
    二:搭建一个webpack3.5.5项目:建立项目的webpack配置文件
  • 原文地址:https://www.cnblogs.com/modou/p/10447949.html
Copyright © 2011-2022 走看看