Linux Shell脚本入门教程系列之(十一)Shell while循环

本文是Linux Shell脚本系列教程的第(十一)篇,更多Linux Shell教程请看:Linux Shell脚本系列教程

在上一篇Linux Shell系列教程之(十)Shell for循环中,我们已经对Shell 循环语句的for循环进行了介绍,本篇给大家介绍下Shell 中另一种循环语句:Shell while循环。

Shell while循环语法及特点

Shell while循环的语法如下所示:

while command
do
   Statement(s) to be executed if command is true
done

command 为条件测试,如果传回值为0(条件测试为真),则进入循环,执行命令区域,否则不进入循环。

在执行命令的区域中,应该要有改变条件测试的命令,这样,才有机会在有限步骤后结束执行while循环(除非想要执行无穷循环)。

while循环通常用来不断执行一系列命令,也可以用来从输入文件中读取数据;

命令通常为测试条件。

Shell while循环使用举例

了解了Shell while循环的语法及特点以后,接下来通过几个例子来详细了解下Shell while循环的使用。

例子1:

COUNTER=0
while [ $COUNTER -lt 5 ]
do
    COUNTER='expr $COUNTER+1'
    echo $COUNTER
done

说明:如果COUNTER小于5,那么返回 true。COUNTER从0开始,每次循环处理时,COUNTER加1,直到COUNT为5后终止。

输出:

1

2

3

4

5

例子2:

#!/bin/bash
while read text
do
  echo ${text}
done < /home/infile

说明:这个例子使用read在标准输入读取数据,放入变量text中,如果读到的数据非空,就进入循环。然后在循环中把该行数据显示出来。

最后一样是输入重定向,将/home/infile的内容作为此脚本的标准输入。

此脚本的输出结果就是infile文件的内容。

输出:

Hello world!

I am linuxdaxue.com!

例子3:

#!/bin/bash
declare -i i=1
declare -i sum=0
while ((i<=10))
do
  let sum+=i
  let ++i
done
echo $sum

说明:在这个例子中,首先声明了两个int类型的变量i和sum,然后进入下面的循环,满足条件后跳出循环。

结果:这个例子就作为留给大家的一个思考题目,大家可以自己试验下,或者关注我的微信公众号(微信号:Linuxdaxue)后,发送【shell while循环】,来查看答案。

好了,有关Shell while循环的内容今天就先给大家介绍这些。更多Linux Shell教程请看:Linux Shell脚本系列教程

 

原文:Linux Shell系列教程之(十一)Shell while循环

本文:Linux Shell脚本入门教程系列之(十一)Shell while循环

Loading

2 Comments

Add a Comment

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.