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 makeru.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,然后进入下面的循环,满足条件后跳出循环。
linux学习交流群:690327559