循环语句for、while、until

作用:

   循环语句的作用是它可以让一段代码重复的执行,直到所需条件不满足为止。

在linux中变量的赋值方式有三种:

      第一:直接等于号赋值

      第二:通过read交互赋值

      第三:for循环的赋值

bash脚本中的循环有三种:

      for循环

      while循环

      until循环

循环的执行要有两个条件,进入和退出条件

      进入条件:条件满足时才进入循环

      退出循环:每个循环都应该有退出条件,以有机会退出循环

   

 for循环:

      条件的两种格式:

           (1)遍历列表

           (2)控制变量

  格式:

     for 变量 in 列表;do

         循环体            把列表中的值一遍遍的赋值给变量

     done

 进入条件:只要列表中有元素,即可进入循环

 退出条件:遍历列表后退出

列表的生成方式:

        (1)直接给出

        (2)整数列表

             (a){ start…end }, 例如:{1..100}

              (b) seq [start[步长]] last 例如:seq 1 2 100

        (3)返回列表命令  例如:$(ls /var/*)

        (4)glob通配符匹配

        (5)变量引用 例如:$@ $* …

举例演示1:

根据选项批量创建用户、删除用户

for循环1.png

for循环2.png   

举例演示2:  

打印九九乘法表

for九九表.png

举例演示3:

打印国际象棋棋盘

for象棋盘.png

for循环的特殊用法:

格式:

  for ((控制变量初始化;控制条件判断表达式;控制变量的修正语句))

        ①           ②            ③

 do

       循环体

        ④

 done

解释:

   控制变量初始化:仅在循环代码开始运行时执行一次

   控制条件判断表达式:是指给定的进入和退出判断条件,这里的条件判断直接使用> < = 这些符号就可以了 例如:i<=100

   控制变量的修正语句:每轮循环结束会先进行控制变量的修正运算,而后再做条件测试。

执行的顺序是:①–②–③–④–③–②…   当②判断为假时退出

举例演示1

求10以内的所有正整数之和

for正整数之和.png

举例演示2

打印九九乘法表

for九九表2.png

while循环:

格式:

   while 条件 ;do

      循环体

     循环控制变量修正表达式  

   done

while循环的进入与退出条件

   进入条件:条件测试为真时进入循环

   退出条件:条件测试为假时结束循环

累加的功能:可以实现把一个数字列表的值依次加到某一个变量原有的值之上,从而能求出指定范围内的整数之和。

exit命令:退出整个脚本

举例演示:

通过ping命令测试出10.1.252.0这个网段所有主机的在线状态

while ping脚本.png

举例演示2:

打印国际象棋棋盘

while 象棋.png

while循环的特殊用法 (遍历文件的每一行)

 格式:

   while read 变量;do

     循环体

   done < /PATH/FROM/SOMEFILE

执行的方式为:依次读取/PATH/FROM/SOMFILE文件的每一行,且将其赋值给变量

举例演示:

显示出系统中所有用户名及所对应的shell,并计算总用户数

while特殊用法.png

until 循环:

  格式:

    until 条件;do

        循环体

      循环控制变量的修正表达式

    done

until的进入和退出条件:

    进入条件:条件测试为假使进入循环

   退出条件:条件测试为真时结束循环

until循环的与while循环正好相反

举例演示:

用until循环打印九九乘法表

until循环九九.png

计算100以内的偶数之和,基数之和

偶数:

until偶数之和.png

基数:

until 基数之和.png

循环控制语句:

continue命令

 continue:提前结束本轮循环,而直接进入下一轮循环判断,不应该写在循环的最后,没有意义

 continue是当循环中遇到它就不执行它以下的操作了,而是直接返回到指定的层继续循环

 continue后面也可以跟数字,表示结束本轮循环后跳至哪一层的循环,数字的大小是从内层往外数,

 例如:continue 2 表示结束本轮循环后直接退回到最内层往外数的第二层开始循环。

break命令

 break是提前跳出循环,直接结束整个循环,去执行循环以下的操作,可以写在循环的任何位置

sleep命令:可以让脚本的睡眠一会在执行,后可跟数字,默认一秒为单位,表示多少秒后再执行脚本,可以设置天,小时等等

            

原创文章,作者:ZJM,如若转载,请注明出处:http://www.178linux.com/38631

(0)
ZJMZJM
上一篇 2016-08-22
下一篇 2016-08-22

相关推荐

  • LAMP+NFS实现双web服务负载均衡

        一、实验拓扑          二、系统环境      1、主机A、主机B、主机C:CentOS 6.5        测试PC:         Windows 7 旗舰…

    Linux干货 2015-07-06
  • 马哥教育网络班20期+第五周博客作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; ]# grep  "^[[:space:]]\+" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; ]#…

    Linux干货 2016-07-12
  • Linux基础知识点(二)

    此篇博客只是记录第二周未掌握或不熟悉的知识点,用来加深印象。

    2018-03-13
  • 使用NFS共享网页文件

    上图为我们要搭建的网络拓扑图 本次实验目的:使用NFS文件服务来实现wordpress共享 实验环境: 需要三台虚拟机:         分别是:192.168.26.188(服务器端)          &n…

    2017-05-01
  • 浅谈Linux中的用户和组

    又到了周六,日常写博客的日子。 上周模模糊糊的写了第一篇博客,大概知道了怎么写,但是这周就比以往不同了,脑子中已经有了思路,那写起来就会更加详细易懂。 这周学了很多知识点,但是我想对Linux 用户和组进行详细的描述。 一、用户(Username/UID) 用户分为两种:管理员和普通用户     管理员root  UI…

    2017-07-22
  • linux 磁盘管理

    1、查看系统存在硬盘:lsblk  2、对磁盘分区操作:fdisk /dev/sda p: 显示当前硬件的分区,包括没保存的改动 n: 创建新分区 e: 扩展分区 p: 主分区 d: 删除一个分区 w: 保存退出 t: 修改分区类型 L:显示所支持的所有类型 3、在CentOS 5和7 使用partprobe同步分区。 4、mkfs -t 文件类型…

    Linux干货 2017-08-13