Shell脚本编程之循环语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell脚本编程之循环语句相关的知识,希望对你有一定的参考价值。

  1. for
  2. while
  3. if
  4. case

1. for用法1

    for 变量 in 值1 值2 值3..;do  
             执行语句 
    done
  • 用法2

    for 变量 `命令`;do                 #  可以引用命令执行结果
            执行语句
    done
  • 用法3

    for ((初始值;循环控制;变量变化));do
            执行语句
    done   #C语言风格的for循环用法

    for循环示例(1+2+3+..+100=?)

    #!/bin/bash
    sum=0                              # 初值为0
    for  ((i=1;i<=100;i++));do
            sum=$(( $sum + $i))    # 初值+i 并刷新sum值
    done
    echo "1+2+3+..+100=$sum"
  1. while循环,重复次数是利用一个条件来控制是否继续执行这个语句,为了避免死循环,必须保证循环体中包含循环出口条件(存在退出状态)

    #!/bin/bash
    sum=0
    i=1           # sum i 赋初值
    while (( i<=100));do       #进入循环体,每循环一次判断一次i的值是否符合(( )) 的条件
            let "sum+=i"
            let "i+=2"
    done
    echo "sum=$sum"
    • 无条件循环

      while true;do
          执行语句

      done # 这个循环语句永远不会跳出,无论什么情况下while判断语句都为真,都会继续执行“执行语句”
      相反,对比while循环,until循环是“满足条件就不执行”
      以1+2+3+..+100=?为例

      until  [ $i -gt 100];do                # 当 i 的值大于100时               sum=$(($sum+$i))
          i+$(($i+1))

      done
      echo "$sum"

if语句,跟case比较像 ,也是条件判断语句,逻辑比较简单

    #!/bin/bash
    read -p "Please Enter a Number:" number           # 读取终端输入的数字
    if [ $number -eq 1  ];then
            echo "the number is 1 "                                    # 如果输入数字等于 1 ,输出此句
    elif [ $number -eq 2 ]
            echo "the number is 2 "                                    # 如果输入数字等于 2 ,输出此句
    elif [ $number -eq 3 ]
            echo "the number is 3"                                     # 如果输入数字等于 2 ,输出此句
    else
            echo "the number is greater than 3 "               # 如果输入的数字都不满足,则输出此句
    fi

case语句

    #!/bin/bash
    read -p "Please Enter a Number:" number
    case $number in
            1) echo "the number is 1";;
            2) echo "the number is 2 ";;
            3) echo "the number is 3 ";;
            *) echo "the number is greater than 3"
    esac                     # 很容易理解,而且看起来比if 简洁一些,

以上是关于Shell脚本编程之循环语句的主要内容,如果未能解决你的问题,请参考以下文章

shell if 语句

shell脚本——编程之循环语句(forwhileuntil)

Shell编程之case语句与循环语句

Shell编程之循环语句

shell编程之case分支语句,for循环语句和while循环语句

Shell脚本编程之循环语句