美文网首页
shell流程控制-for循环语句

shell流程控制-for循环语句

作者: 亮仔_c1b5 | 来源:发表于2019-10-14 00:05 被阅读0次

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 ......
    do
        commands
done

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

image 代码执行结果:

1

2

3

4

5

6

7

8

9

2.2)for语法二

C式的for命令

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

          代码块
done

来段代码理解一下,看下还是输出1-9

image 代码执行结果

1

2

3

4

5

6

7

8

9

for循环使用多个变量[图片上传中...(image-4cbc3b-1570900792716-8)] 代码执行结果

image

for 无限循环 使用((;;)) 条件可以实现无线循环

看看代码吧,编写一个倒计时脚本。

image

三、循环控制语句

3.1)sleep N 脚本执行到该步休眠N秒

看段代码吧

image 代码执行

image

3.2)continue 跳过循环中的某次循环

看段代码吧,默认循环输出1-9,但是使用continue跳过输出5[图片上传中...(image-d226c4-1570900792716-3)] 输出结果

image

3.3)break 跳出循环继续执行后续代码

看段代码,默认循环输出1-9,当输出到5的时候跳出循环

image

执行代码

image

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++ ))
   do
      echo "#loop $i"

      for ((;;))
           do
              echo "haha"
              break 2
      done

     sleep 3
done

代码:

[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

  do
       echo $i

done

[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++))
do

     echo $i

done

[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-- ))
do

 echo $a $b

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

!/bin/bash

Author: Bai Shuming

Created Time: 2018/08/28 12:15

Script Description:

for ((;;))
do
echo "hehe"
done
[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
do
echo -n -e "\b$i"
sleep 1
done
echo
[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++))
do
if [ i -eq 5 ] then continue else echoi
fi
done
[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
do
echo i if [i -eq 5 ]
then
break
fi
done

job:

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

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

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

4.写一个mysql分库备份脚本

5.写一个猜数字脚本,数字范围是1-100,定制计数器,每次猜完都要告诉用户猜大或猜小了,如果猜对了跳出脚本并输出计数器的值

6.为DNS写一个自动判断WEB解析的脚本

公司DNS将域名www.ayitula.com解析到了两个WEB服务器,以实现dns负载均衡。但是当某个WEB服务器出现故障,那么DNS依然会将用户解析到宕机WEB,造成不能正常访问。故要求写一个运行在DNS的检查脚本,当发现哪台WEB宕机后,自己修改DNS的解析记录,关闭对其的解析。当WEB恢复,DNS在打开对其的解析,恢复解析。

7.写一个99乘法表

相关文章

  • shell流程控制-while循环语句

    shell流程控制-while循环语句 while循环介绍 while循环语法 while实战 一、while循环...

  • shell流程控制-for循环语句

    shell流程控制-for循环语句 for循环介绍 for语法 循环控制 脚本在执行任务的时候,总会遇到需要循环执...

  • linux shell 流程控制语句

    linux shell 有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),选择语...

  • 零基础Java学习第四篇

    流程控制 条件语句 if条件语句 循环语句 while循环语句 for循环语句 循环语句嵌套

  • 【骚全带你学Java---八、流程控制语句】

    java的流程控制语句包含条件语句和循环语句 一.什么是流程控制语句? ·流程控制语句:可以控制程序的执行流程。 ...

  • Shell编程之case流程控制语句

    Shell之case语句 1.case 用来实现对程序流程的选择、循环等进行控制。 语法: case 变量 in ...

  • Shell流程控制

    Shell流程控制 简单流程控制语句 单分支if语句 语法格式 双分支if语句 语法格式 多分支if语句 语法格式...

  • 控制流程

    控制流程 本节包含内容: For循环 While循环 条件语句 控制转移语句 For循环 for循环用来按照指定的...

  • # shell流程控制语句

    shell流程控制语句 任何编程语言都离不开流程控制语句,其实编程基本上就是掌握了流程控制语句,然后加上函数(或者...

  • 2018-12-11

    流程控制 流程控制语句:--条件判断语句--条件分支语句--循环语句 条件判断语句(if语句) 语法:if(条件表...

网友评论

      本文标题:shell流程控制-for循环语句

      本文链接:https://www.haomeiwen.com/subject/brqhmctx.html