码迷,mamicode.com
首页 > 系统相关 > 详细

shell循环

时间:2015-05-11 12:17:55      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:

for循环

for循环一般格式为:

for 变量 in 列表
do
    command1
    command2
    ...
    commandN
done

列表是一组值(数字、字符串等)组成的序列,每个值通过空格分隔。每循环一次,就将列表中的下一个值赋给变量。

in 列表是可选的,如果不用它,for 循环使用命令行的位置参数。

例如,顺序输出当前列表中的数字:

1 for str in This is a string
2 do
3     echo $str
4 done

 

运行结果:

The value is: 1
The value is: 2
The value is: 3
The value is: 4
The value is: 5

while循环

while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。其格式为:

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

命令执行完毕,控制返回循环顶部,从头开始直至测试条件为假。


以下是一个基本的while循环,测试条件是:如果COUNTER小于5,那么返回 true。COUNTER从0开始,每次循环处理时,COUNTER加1。运行上述脚本,返回数字1到5,然后终止。

1 COUNTER=0
2 while [ $COUNTER -lt 5 ]
3 do
4     COUNTER=expr $COUNTER+1
5     echo $COUNTER
6 done

运行脚本,输出:

1
2
3
4
5

until循环

until 循环执行一系列命令直至条件为 true 时停止。until 循环与 while 循环在处理方式上刚好相反。一般while循环优于until循环,但在某些时候,也只是极少数情况下,until 循环更加有用。

until 循环格式为:

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

 

command 一般为条件表达式,如果返回值为 false,则继续执行循环体内的语句,否则跳出循环。

例如,使用 until 命令输出 0 ~ 9 的数字:

1 #!/bin/bash
2 
3 a=0
4 
5 until [ ! $a -lt 10 ]
6 do
7    echo $a
8    a=`expr $a + 1`
9 done

运行结果:

0
1
2
3
4
5
6
7
8
9

break和continue命令

break命令允许跳出所有循环(终止执行后面的所有循环)。

continue命令与break命令类似,只有一点差别,它不会跳出所有循环,仅仅跳出当前循环。

shell循环

标签:

原文地址:http://www.cnblogs.com/hezhangyear/p/4493921.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!