for循环结构可以重复执行一个命令列表,基于for语句中所指定的值列表决定是继续循环还是跳出循环。for循环执行命令列表前会检查值列表中是否还有未被使用的值,如有则把该值赋给for语句中指定的变量,然后执行循环结构中的命令列表。如此循环,直到值列表中的所有值都被使用。
语法结构(如下):
for 变量名 in 值列表
do
命令1
命令2
......
done
例1:以常量作为值列表
[root@localhost for]# cat for1.sh
#!/bin/bash
for n in 1 2 3 4 5
do
echo $n
done
[root@localhost for]# sh for1.sh
1
2
3
4
5
例2:以变量作为值列表
[root@localhost for]# cat for2.sh
#!/bin/bash
values='1 2 3 4 5'
for n in $values
do
echo $n
done
[root@localhost for]# sh for2.sh
1
2
3
4
5
例3:以命令运行的结果作为值列表
注意:shell支持使用命令的运行结果作为for循环的值列表,在shell中通过“`命令`”或者“$(命令)”来引用命令的运行结果。
[root@localhost for]# cat for3.sh
#!/bin/bash
for n in `ls` //循环读取ls命令的输出结果
do
echo $n //输出变量n的值
done
该脚本会以ls命令的结果作为值列表,运行脚本如下:
[root@localhost for]# sh for3.sh
for1.sh
for2.sh
for3.sh
阅读(280) | 评论(0) | 转发(0) |