shell脚本中,for循环很重要,对一系列值进行迭代时非常有用。Bash中提供了多种类型的循环。
面向列表的for循环
个人理解这个是shell 最基本的循环,面向列表在集合中查找处理
for var in list
do
commands; #使用变量$var
done
list 可以是一个字符串,也可以是一个值序列(就是一个集合)。
可以使用echo命令生成各种值序列:
echo {1...50}; #生成一个从1~50的数字序列
echo {a...z} {A...Z}; #生成一个大小写字母序列
同样,可以使用将这些方法结合起来,对数据进行拼接
下面的代码中,变量 i 在每次迭代的过程中都会保存一个范围在a到z之间的字符:
for i in {a...z}; do action; done;
迭代指定的范围
for((i=0;i<100;i++))
{
commands; #使用变量i
}
循环满足条件为止
当条件为真时,while循环继续执行,当条件为假时,until循环继续执行
while condition
do
commands;
done
until循环
Bash中还可以使用一个特殊的循环until。它会一直循环,直到给定的条件为真。例如:
x=0
until [ $x -eq 9 ];
then
let x++
echo $x
done