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 15:00
下一篇 2016-01-05 12:58

相关推荐

  • nginx实现代理服务器功能

    nginx实现代理服务器功能1: #环境: 172.16.253.223 #CentOS7.3,安装nginx作为代理服务器 172.16.253.224 #CentOS7.3,安装httpd作为服务器 172.16.253.188 #CentOS6.8,咱庄httpd作为图片服务器 #223主机: yum install nginx vim /etc/ng…

    Linux干货 2017-06-28
  • 用“逐步排除”的方法定位Java服务线上“系统性”故障

    一、摘要 由 于硬件问题、系统资源紧缺或者程序本身的BUG,Java服务在线上不可避免地会出现一些“系统性”故障,比如:服务性能明显下降、部分(或所有)接口超 时或卡死等。其中部分故障隐藏颇深,对运维和开发造成长期困扰。笔者根据自己的学习和实践,总结出一套行之有效的“逐步排除”的方法,来快速定位Java 服务线上“系统性”故障。 二、导言 Java 语言是广…

    2015-02-28
  • 马哥教育网络班22期+第4周课程练习 忍者乱太郎喻成

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。   cp -rp /etc/skel /home/tuser1   chmod -R 700 /home/tuser1 2、…

    Linux干货 2016-10-09
  • VMware vSphere所需要开放的端口

        80 vCenter Server需要端口80用于直接HTTP连接。端口80会将请求重定向到HTTPS端口443。如果意外使用了http://server而不是https://server,此端口将非常有用。     389 此端口在vCenter Server的本地和所…

    Linux干货 2016-07-07
  • Linux中的账号管理(上)

    一背景  Linux  是  一个真实的、完整的多用户多任务操作系统,多用户多任务就是可以在系统上建立多个用户,而多个用户可以在同一时间内登录同一个系统执行各自不同的任务,而互不影响,例如某台linux服务器上有4个用户,分别是root、www、ftp和mysql,在同一时间内,root用户可能在查看系统日志,管理维护系统,ww…

    Linux干货 2016-08-04
  • N22-第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # declare -i count1=0 declare -i count2=0 for i in $(awk -F : '{print $7}&#03…

    Linux干货 2016-10-17