您的位置:首页 > 运维架构 > Shell

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

2016-09-13 15:48 429 查看
本文是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系列教程

版权声明:本站原创文章,于4个月前,由Linux大学(Linuxdaxue.com)发表,共
1121字。

转载请注明:Linux
Shell系列教程之(十一)Shell while循环 | Linux大学
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息