• shell脚本(9)-流程控制for


    一、循环介绍

    for循环叫做条件循环,或者for i in,可以通过for实现流程控制

     

    二、for语法

    1、for语法一:for in

    for var in value1 value2 ......
        do
            commands
    done

    举例说明:输出1到10

    [root@localhost test20210726]# vim for1test.sh
    
    #!/usr/bin/bash
    for i in `seq 1 10`
        do
            echo $i
    done

    查看运行结果:

    [root@localhost test20210726]# sh for1test.sh 
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    2、for语法二:for  by c语言

    for ((变量;条件;自增自减运算))do
            commands
    done

    举例说明:输出1到10

    [root@localhost test20210726]# vim for2test.sh 
    
    #!/usr/bin/bash
    
    for ((i=1;i<=10;i++))
        do
            echo $i
    done

    查看运行结果:

    [root@localhost test20210726]# sh for2test.sh 
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    3、for语法三:for多个变量

    [root@localhost test20210726]# vim for3test.sh
    
    #!/usr/bin/bash
    
    for ((a=0,b=9;a<10;a++,b--))
        do
            echo $a $b
    done

    查看运行结果:

    [root@localhost test20210726]# sh for3test.sh 
    0 9
    1 8"I
    we km eqg tg00 v6
    4 5iu78
    5 4
    6 3
    7 2
    8 1
    9 0

     

    三、循环控制

    1、sleep:睡眠+秒

    [root@localhost test20210727]# vim testsleep.sh
    
    #!/usr/bin/bash
    
    for var in 1 2 3 4 5 6 7 8 9
      do
        echo $var
        sleep 1
    done

    查看运行结果:(每隔一秒打印一个数字)

    [root@localhost test20210727]# sh testsleep.sh 
    1
    2
    3
    4
    5
    6
    7
    8
    9

    2、continue:跳过循环中的某次循环

    [root@localhost test20210728]# vim continue.sh
    
    #!/usr/bin/bash
    
    #输出 1 2 3 4 6 7 8 9
    for ((i=1;i<10;i++))
      do
        if [ $i -eq 5 ];then
          continue
        fi
        echo $i
    done

    查看运行结果:

    [root@localhost test20210728]# sh continue.sh 
    1
    2
    3
    4
    6
    7
    8
    9

     3、break:跳出循环继续执行后续代码

    [root@localhost test20210728]# vim break.sh 
    
    #!/usr/bin/bash
    
    #输入 1 2 3 4 5 
    for ((i=1;i<10;i++));do
      echo -n $i" "
      if [ $i -eq 5 ]
        then
          break;
      fi
    done

    查询运行结果:

    [root@localhost test20210728]# sh break.sh 
    1 2 3 4 5 
  • 相关阅读:
    FPGA quartus开发中常见的错误处理
    verilog中wire与reg类型的区别
    VC++6.0中ClassView中类消失 解决方案[转自网络]
    C++ 和 MFC的学习
    最近单片机编程中的心得
    #ifdef __cplusplus extern "C" { #endif”的定义的含义
    ES6字符串拼接新方法-模板字符串表达式
    JavaScript事件参数对象event
    JavaScript offset家族
    详解JavaScript中的replace()函数
  • 原文地址:https://www.cnblogs.com/mrwhite2020/p/15017985.html
Copyright © 2020-2023  润新知