shell脚本编程之循环语句

  在运行脚本时重复执行一系列的命令是很常见的,这时我们就需要使用循环语句来达到这个目的。

一、for命令

  格式:for 变量 in 列表;do 

        循环体

      done

  for命令会遍历列表中的每一个值,并且在遍历完成后退出循环。

  列表形式有以下几种:

    1、在命令中定义的一系列的值;

    2、变量;

    3、命令;

    4、目录;

    5、文件。

  实例1:

1.jpg

1.jpg

   上例中使用{初始值..结束值}格式来表示一个区间的数值。

  实例2:以变量作为列表:

2.jpg

  实例3:用命令生成列表:

2.jpg

   上例中使用seq命令来生成列表,seq命令的格式为:seq [初始值 步长] 终止值

3.jpg

    以上两个例子中使用反引号将得到命令运行的结果。

  实例4:将目录作为列表:

4.jpg

二、C语言风格的for命令

  格式:for (( 变量赋值;循环终止条件;步长 )); do 

        循环体

      done

  实例:求从1加到100的和:

5.jpg

三、until命令  

  格式:until 条件; do 

        statement

          …

      done 

  until命令中的条件满足时则会退出循环。

  实例:

6.jpg

四、while命令

  格式:while 条件; do

        statement

          …

      done

  while命令当条件满足时则进入循环。

  实例:

7.jpg 

五、控制循环

  1、break命令

   作用:退出正在进行中的循环。

   实例:如果变量i为3则退出循环。

1.jpg

  2、continue命令

    作用:提前进入下一轮循环。

    实例:将1到20和51到100之间的数相加:

2.jpg

六、while的殊用法

  1、死循环

    格式:while :; do     

         语句

        done

    实例:

1.jpg

  2、将文件内容逐行读入循环中

    格式:while read 变量名; do 

         循环体

        done < 文件

    实例:逐行读入/etc/passwd文件的内容:

2.jpg

 

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

(0)
petmasterpetmaster
上一篇 2016-01-01
下一篇 2016-01-05

相关推荐

  • 马哥教育21期网络班—第13周课程+练习—-samba和vsftp-pam

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程) 1)共享名为shared,工作组为magedu; 2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名; 3)添加samba用户gentoo,centos和u…

    Linux干货 2016-10-24
  • zabbix监控Hadoop的实现

            Hadoop日常运行过程中一些参数需要进行实时监控,如:Map、Reduce任务数量,HDFS磁盘使用情况,namenode、datanode在线数量及健康情况,以便更好的掌握整个Hadoop集群架构的运行情况。         下面结合最近工作中的一些…

    Linux干货 2015-03-08
  • python写一个通讯录之step by step

    编写过程:     第一步:手动代码堆积         第二步:函数复用         第三步:数据持久化之数据保存         第四步:数据持久化之数据读取       &nbsp…

    Linux干货 2015-03-26
  • LVS产生背景、原理及LVS-DR应用实例(一)

    一、什么是lvs? 它产生的背景,使用场景是什么?      LVS(Linux Virtual Server) 可以理解为一个虚拟服务器系统。       Internet的飞速发展,网络带宽的增长,Web服务中越来越多地使用CGI、动态主页等CPU密集型应用,这对服务器的性能…

    Linux干货 2016-10-29
  • grep学习示例

    grep学习示例 Linux中grep命令使用较多,现将自己学习的罗列几条. 1. 去除空白行     空白行是指空行或者只有空格的行,使用grep命令去除空白行,命令如下:      grep -v  “^[[:space:]]*$” &nbs…

    Linux干货 2017-07-30
  • linux多网口绑定

    LINUX多网卡绑定同一IP(BOND): 常用的有三种 mode=0:轮转策略,有自动备援,但需要”Switch”支援及设定。 mode=1:活动-备份模式,其中一条线若断线,其他线路将会自动备援。 mode=3:广播模式,有自动备援,不必”Switch”支援及设定 mode0模式:需要说明的是如果想做成mode 0的负载均衡,仅仅设置这里options …

    2017-07-03