循环语句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 08:44
下一篇 2016-08-22 08:44

相关推荐

  • 软链接和硬链接的区别

          什么是链接文件? 使用windows的朋友们应该会经常接触到快捷方式吧!它也就是能让我们快速的打开一个目标应用程序,文件,或者文件夹来使我们的操作更加快捷。那么下面我们就来简单聊聊linux上的“链接文件”吧!            &n…

    Linux干货 2016-10-19
  • Tomcat集群之会话保持

    一:环境介绍:      OS:CentOS7.3      Ngninx:1.10.2     Tomcat:7     注:便于实验,此处关闭全部服务器的防火墙,selinux(iptables -F  于  setenforce 0)…

    2017-05-25
  • MAN手册各章节功能介绍及快捷键键位整理

    Linux系统中man命令是用于查询命令使用手册的,使用格式 man + 命令。 当使用man命令之后,系统就会在指定的路径中查询命令的使用手册。其中制定路径为$PATH变量指定的路径,或者/etc/man.config文件中MANPATH中指定的路径  其中/etc/man.config中有如下内容: MANPATH /usr/man …

    Linux干货 2016-10-17
  • http

    http 笔记整理

    Linux干货 2018-01-31
  • Linux系统用户、组

    1、资源分派:          Authentication  认证        Authorization   授权     &nbs…

    Linux干货 2016-08-04
  • 基于ansible role实现LAMP平台批量部署

    前言 作为运维人员,当面对几十台或上百台服务器需要修改某个参数或部署某个平台,你将从何入手呢?ansible的出现很好的解决了这一困扰,ansible基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。本文带来的是基于Ansible Role…

    Linux干货 2015-06-11