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

相关推荐

  • Linux命令执行

    Linux命令 Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和外部命令。 命令格式 COMMAND [OPTIONS…] [ARGU…

    Linux干货 2017-07-15
  • N26-第十一周

    1、详细描述一次加密通讯的过程,结合图示最佳。     发送方:1、使用单项加密算法计算数据文件的特征码2、使用发送方私钥加密特征码3、使用对称加密算法生成一对临时密钥4、使用临时密钥加密数据文件和加密后的特征码5、使用接收方的公钥加密使用临时密钥加密后的数据和特征码和临时密钥的解密密码,并将之发送给接收方 接收方1、使用接收方的私钥解密…

    2017-04-09
  • 学习宣言

    别人笑我太疯癫,我笑他人看不穿。不见五陵豪杰墓,无花无酒锄作田。

    Linux干货 2016-10-24
  • Linux网络属性配置,计算机基础

    Linux网络属性配置,计算机基础 Linux网络属性配置(1): 计算机网络通信:TCP/IP 通过流式化数据相互通信,通过双方一致的时钟频率来完成信号传输; 有两种方式传输:同步传输,异步传输; 借助于介质传输:同轴电缆、网线、无线等; 要想相互通信,也要必须遵循一种(复杂)组织机制,就产生了协议; 通过把协议分层,来分别解决传输过程中各种复杂的操作; …

    Linux干货 2016-09-05
  • 第七周学习总结–系统启动流程

    写在前面 作为一个理工科的你,我相信你一定给自己或者给别人装过windows操作系统,作为windows操作系统都图形化了,因此我们可能很难去了解中间都发生了什么。比如使用U盘安装的时候,网上一大堆某某某U盘制作系统工具,按照网上的教程,制作完成以后,就可以在要装系统的电脑上点击电源键狂按F12(不同的电脑可能不同)进入BIOS设置了,然后就等着使用了。作为…

    2018-01-14
  • ansible配置与应用

    无法上传图片 一、程序主要文件: ansible ansible-playbook ansible-doc 二、程序发布: 要求: 1.不能影响用户体验 2.系统不能停机 3.不能导致系统故障或造成系统完全不可用。 发布路径: /webapps/tuangou /webapps/tuangou-1.1 /webapps/tuangou-1.2. 在调度器上下…

    Linux干货 2016-11-14