shell流程控制-for循环语句

shell流程控制-for循环语句

  • for循环介绍
  • for语法
  • 脚本在执行任务的时候,总会遇到需要循环执行的时候,比如说我们需要脚本每隔五分钟执行一次ping的操作,除了计划任务,我们还可以使用脚本来完成,那么我们就用到了循环语句。

    循环的优点

  • 1)节省内存 10M脚本 1M脚本 哪个更剩内存 完成同一个任务
  • 2)结构更清晰
  • 3)节省开发时间成本
  • 一、for 循环介绍

    很多人把for循环叫做条件循环,或者for i in 。其实前者说的就是for的特性,for循环的次数和给予的条件是成正比的,也就是你给5个条件,那么
    他就循环5次;后者说的是for的语法。
    

    二、for语法

    2.1)for 语法一

    for var in value1 value2 ......
            commands
    

    接下来看段代码吧,循环输出1-9数字

    break N 跳出某个循环,用在嵌套循环环境,从内循环到外循环依次编号为1-N

    [root@front_251 shell_09]# cat for_break_N.sh 
    #!/bin/bash
    #Description: 
    #Author: Bai Shuming
    #Created Time: 2019/05/17 05:23
    #脚本分三步执行
    #1.没有break  那么脚本i=1的时候  内循环将无限循环,满屏幕haha
    #2.内循环加break  终止内循环 内循环只执行一次 输出就会loop 1   haha   loop2  haha   ....
    #3.内循环加break 2 终止外循环 输出loop 1    haha  脚本运行结束
    for (( i=1; i<100; i++ ))
          echo "#loop $i"
          for ((;;))
                  echo "haha"
                  break 2
         sleep 3
    

    [root@baism shell]# cat for-1.sh

    #!/bin/bash
    #Author: Bai Shuming
    #Created Time: 2018/08/28 11:50
    #Script Description:
    

    for i in seq 1 9

    echo $i

    [root@baism shell]# cat for-2.sh

    !/bin/bash

    Author: Bai Shuming

    Created Time: 2018/08/28 12:02

    Script Description:

    for ((i=1;i<10;i++))

         echo $i
    

    [root@baism shell]# cat for-3.sh

    !/bin/bash

    Author: Bai Shuming

    Created Time: 2018/08/28 12:06

    Script Description:

    for (( a=0,b=9;a<10;a++,b-- ))

     echo $a $b
    [root@baism shell]# cat for-4.sh

    !/bin/bash

    Author: Bai Shuming

    Created Time: 2018/08/28 12:15

    Script Description:

    for ((;;))
    echo "hehe"
    [root@baism shell]# cat sleep.sh

    !/bin/bash

    Author: Bai Shuming

    Created Time: 2018/08/28 15:34

    Script Description:

    echo -n "倒计时: "
    for i in seq 9 -1 1
    echo -n -e "\b$i"
    sleep 1
    [root@baism shell]# cat continue.sh

    !/bin/bash

    Author: Bai Shuming

    Created Time: 2018/08/28 15:47

    Script Description:

    for ((i=1;i<10;i++))
    if [ i -eq 5 ] then continue else echoi
    [root@baism shell]# cat break.sh

    !/bin/bash

    Author: Bai Shuming

    Created Time: 2018/08/28 15:57

    Script Description:

    for i in seq 1 9
    echo i if [i -eq 5 ]
    break

    1.扫描一下你的网段中的那些机器是存活的。

    2.手动写一个同步拉脚本,要求B机器每隔10分钟把A机器的/opt/cache/下的内容拉取到B机器的/opt/cache,并做完整性验证

    3.新建user01-user20用户,要求密码是随机6位数 密码取值范围a-zA-Z0-9,要求密码不能只是单一的数字或小写或大写字母。