循环语句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

相关推荐

  • Linux用户组管理

    马哥网络教育21期+第三周练习 用户及用户组 用户配置文件     用户:UID,/etc/passwd     组:GID,/etc/group 密码配置文件     用户:/etc/shadow    &n…

    Linux干货 2016-09-02
  • locate,find文件查找

    locate | find *** locate 路径中包含字符串 即匹配;      -n#     指定显示结果前几个      -b      只匹配路径名中的基名      &nbs…

    Linux干货 2016-08-15
  • yum用法第二篇-自定义创建yum仓库

    一、前言      上次写了yum命令的介绍及常见使用说明,这次打算继续整理下如何自定义创建yum仓库,这在企业中也是非常常见的设置方式,有些公司为了服务器安全是不允许连接外网的,自定义创建yum仓库正好可以实现局域网单独安装管理程序包这种需求。 二、用法说明      1.使用…

    Linux干货 2015-09-22
  • 网络管理及任务进程解析

     网络管理————————————— 一.IP 地址 与路由  1.首先说的是IP地址:       它们可唯一标识IP 网络中的设备,每台主机必须具有唯…

    2017-07-02
  • 构建NP和NMP

    实验一、构建NP (一)实验布置:两台虚拟机充当代理服务器和后端服务器,一台虚拟机充当客户端。 (二)实验目的:实现NP的搭建。 (三)实验图解: (四)实验步骤: 1、  在后端服务器安装php-fpm文件,修改PHP-FPM的配置文件,vim/etc/php-fpm.d/www.conf文件,如下: listen = 127.0.0.1:900…

    2017-05-07
  • 高级文件系统管理2

    逻辑卷管理器(LVM),允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小。允许在多个物理设备间重新组织文件系统。其步骤大体如下:将设备指定为物理卷,用一个或者多个物理卷来创建一个卷组,物理卷你是用固定大小的物理区域(PE)来定义的,在物理卷上创建的逻辑卷是由物理区域组成,可以在逻辑卷上创建文件系统。 一、知识整理 1、LVM设备名:dm-#。 软链接…

    Linux干货 2016-09-13