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

相关推荐

  • Linux下如何使用sendEmail来发送邮件

    1)什么是sendEmail sendEmail是一个轻量级,命令行的SMTP邮件客户端(注意,不要跟sendmail混淆了)。如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大,从此以后你就爱上了它。 2)安装sendEmail [root@zabbix ~]# wget http://…

    系统运维 2016-07-29
  • 用户和组的简介

     在第二周的学习中,关于用户和组是一个难点,也是重点,本篇博客则是对用户和组的简单阐述,如有错误或不足还请各位大牛指出,在此谢过! 1、用户 # 1.1用户的定义      通过前面对Linux 多用户的理解,我们明白Linux 是真正意义上的多用户操作系统,所以我们能在Linux系统中建若干用户(…

    Linux干货 2017-07-22
  • 8.3上课练习及课下作业

    练习 上课练习 1、 当用户xiaoming对/testdir 目录无执行权限时,意味着无法做哪些操作? 能查看文件大小,不能进入此目录,不能在此目录创建文件 能看到目录中的内容,不能查看目录内的大小及属性,仅能查看目录的相关属性 [xiaoming@localhost ~]$ ll -d qin drwxrwxrw-…

    Linux干货 2016-08-05
  • Tomcat详解

    Tomcat详解 1、tomcat安装 tomcat的组件:<Server> <Service> <connector/> <connector/> <Engine> <Host /> <Host> <Context/> … </Host> &lt…

    2017-04-27
  • 马哥网络班21期-第四周作业

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

    Linux干货 2016-08-02
  • 网络管理之基本概念

    本章内容     网络概念     OSI模型     网络设备     TCP/IP     IP 地址     配置…

    Linux干货 2016-09-08