在shell编程中有三种常用的循环结构,分别是for循环语句、while循环语句和until循环语句。
for循环
for循环就有三种结构,列表for循环、不带列表for循环、类C风格的for循环。(只要掌握了各种结构,才能在编程中游刃自如)
列表for循环:
1.list列表是常数的情况
for variable in 1 2 3 4 5
do
command
done
2.使用略写的计数方式
for variable in {1..5}
do
command
done
3.按规定的步数进行跳跃的方式实现列表for循环
for variable in {1..100..2}
do
command
done
变量variable按照步数2不断递增
4. seq外部命令也可以实现按步跳跃,seq命令一般用做一堆数字的简化写法:
for variable in $( seq 1 2 100 )
do
command
done
1表示起始数,2表示跳跃的步数,100表示结束条件值
不带列表for循环:
在shell中的使用比较少,其只限于从命令行传递参数。
类C风格的for循环:
for(( expr1; expr2; expr3 ))
do
command
done
while循环
while expression
do
command
done
在实际的开发中,可以根据不同的情形来设计循环。
1.如果事先知道循环的次数,那我们可以向设计类Cfor循环一样来设计while循环------计数器控制的while循环
2.比如通过判断用户的输入来结束循环------结束标记控制的while循环
3.比如通过用户设置的标志来结束循环------标志控制的while循环
4.命令行控制的while循环:根据shift命令使位置变量下移一位来操作(P.197)
until循环
until expression
do
command
done
直到expression的退出状态为0时退出循环
while循环和until循环非常相似,区别仅在于:while循环在条件为真时继续执行循环,而until则在条件为假时执行循环。
循环在平常的编程中经常用到,思想应该都是一样的,先写到这。