• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    详解Shell if else语句的具体使用方法

    和其它编程语言类似,Shell 也支持选择结构,并且有两种形式,分别是 if else 语句和 case in 语句。本节我们先介绍 if else 语句,case in 语句将会在《Shell case in》中介绍。

    如果你已经熟悉了C语言、Java、JavaScript 等其它编程语言,那么你可能会觉得 Shell 中的 if else 语句有点奇怪。

    if 语句

    最简单的用法就是只使用 if 语句,它的语法格式为:

    if condition
    then
      statement(s)
    fi
    

    condition是判断条件,如果 condition 成立(返回“真”),那么 then 后边的语句将会被执行;如果 condition 不成立(返回“假”),那么不会执行任何语句。

    从本质上讲,if 检测的是命令的退出状态,我们将在下节《Shell退出状态》中深入讲解。

    注意,最后必须以fi来闭合,fi 就是 if 倒过来拼写。也正是有了 fi 来结尾,所以即使有多条语句也不需要用{ }包围起来。

    如果你喜欢,也可以将 then 和 if 写在一行:

    if condition; then
      statement(s)
    fi
    

    请注意 condition 后边的分号;,当 if 和 then 位于同一行的时候,这个分号是必须的,否则会有语法错误。

    实例1

    下面的例子使用 if 语句来比较两个数字的大小:

    #!/bin/bash
    read a
    read b
    if (( $a == $b ))
    then
      echo "a和b相等"
    fi
    

    运行结果:
    84↙
    84↙
    a和b相等

    在《Shell (()) 》一节中我们讲到,(())是一种数学计算命令,它除了可以进行最基本的加减乘除运算,还可以进行大于、小于、等于等关系运算,以及与、或、非逻辑运算。当 a 和 b 相等时,(( $a == $b ))判断条件成立,进入 if,执行 then 后边的 echo 语句。

    实例2

    在判断条件中也可以使用逻辑运算符,例如:

    #!/bin/bash
    read age
    read iq
    if (( $age > 18  $iq  60 ))
    then
      echo "你都成年了,智商怎么还不及格!"
      echo "来C语言中文网(http://c.biancheng.net/)学习编程吧,能迅速提高你的智商。"
    fi
    

    运行结果:
    20↙
    56↙

    就是逻辑“与”运算符,只有当两侧的判断条件都为“真”时,整个判断条件才为“真”。

    熟悉其他编程语言的读者请注意,即使 then 后边有多条语句,也不需要用{ }包围起来,因为有 fi 收尾呢。

    if else 语句

    如果有两个分支,就可以使用 if else 语句,它的格式为:

    if condition
    then
      statement1
    else
      statement2
    fi
    

    如果 condition 成立,那么 then 后边的 statement1 语句将会被执行;否则,执行 else 后边的 statement2 语句。

    举个例子:

    #!/bin/bash
    read a
    read b
    if (( $a == $b ))
    then
      echo "a和b相等"
    else
      echo "a和b不相等,输入错误"
    fi
    

    运行结果:
    10↙
    20↙
    a 和 b 不相等,输入错误

    从运行结果可以看出,a 和 b 不相等,判断条件不成立,所以执行了 else 后边的语句。

    if elif else 语句

    Shell 支持任意数目的分支,当分支比较多时,可以使用 if elif else 结构,它的格式为:

    if condition1
    then
      statement1
    elif condition2
    then
      statement2
    elif condition3
    then
      statement3
    ……
    else
      statementn
    fi
    

    注意,if 和 elif 后边都得跟着 then。

    整条语句的执行逻辑为:

    举个例子,输入年龄,输出对应的人生阶段:

    #!/bin/bash
    read age
    if (( $age = 2 )); then
      echo "婴儿"
    elif (( $age >= 3  $age = 8 )); then
      echo "幼儿"
    elif (( $age >= 9  $age = 17 )); then
      echo "少年"
    elif (( $age >= 18  $age =25 )); then
      echo "成年"
    elif (( $age >= 26  $age = 40 )); then
      echo "青年"
    elif (( $age >= 41  $age = 60 )); then
      echo "中年"
    else
      echo "老年"
    fi
    

    运行结果1:
    19
    成年

    运行结果2:
    100
    老年

    再举一个例子,输入一个整数,输出该整数对应的星期几的英文表示:

    #!/bin/bash
    printf "Input integer number: "
    read num
    if ((num==1)); then
      echo "Monday"
    elif ((num==2)); then
      echo "Tuesday"
    elif ((num==3)); then
      echo "Wednesday"
    elif ((num==4)); then
      echo "Thursday"
    elif ((num==5)); then
      echo "Friday"
    elif ((num==6)); then
      echo "Saturday"
    elif ((num==7)); then
      echo "Sunday"
    else
      echo "error"
    fi
    

    运行结果1:
    Input integer number: 4
    Thursday

    运行结果2:
    Input integer number: 9
    error

    到此这篇关于详解Shell if else语句的具体使用方法的文章就介绍到这了,更多相关Shell if else语句内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • 基于shell的if和else详解
    • Windows Powershell IF-ELSEIF-ELSE 语句
    • Shell脚本if else语句小结
    • linux shell中 if else以及大于、小于、等于逻辑表达式介绍
    上一篇:Shell退出状态的使用
    下一篇:Shell四种运行方式(启动方式)的实现
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    详解Shell if else语句的具体使用方法 详解,Shell,else,语句,的,具体,