在 Shell 中,有多种循环语句用于处理重复性的任务,最常用的有 for 、while和until 循环。
1.for 循环语句
for 循环语句用于对一个列表中的每个元素执行相同的操作,其基本语法如下:
for var in list
do
commands
done
在上面的语法中,var 为循环变量,list 为要遍历的元素列表,commands 为要执行的命令块。例如:
#!/bin/bash
for i in 1 2 3 4
do
echo $i
done
array=("cherry" "apple" "banana" "orange")
for i in ${array[@]}
do
echo $i
done
输出
1
2
3
4
cherry
apple
banana
orange
2.while 循环语句
while 循环语句用于反复执行一组命令,直到条件为假(返回非零值)。其基本语法如下:
while condition
do
commands
done
在上面的语法中,condition 为循环条件,commands 为要执行的命令块。例如:
#!/bin/bash
# 定义变量
counter=1
# while 循环
while [ $counter -le 5 ]
do
echo "Count: $counter"
((counter++))
done
# 循环结束
echo "Done!"
输出
Count: 1
Count: 2
Count: 3
Count: 4
Count: 5
Done!
3.until 循环语句
在 Shell 脚本中,until 循环与 while 循环非常类似。while 循环在此条件为真时重复执行代码块,而 until 循环在条件为假时重复执行代码块。以下是一个 until 循环的简单示例:
#!/bin/bash
# 定义变量
counter=1
# until 循环
until [ $counter -ge 10 ]
do
echo "Count: $counter"
((counter++))
done
# 循环结束
echo "Done!"
输出
Count: 1
Count: 2
Count: 3
Count: 4
Count: 5
Count: 6
Count: 7
Count: 8
Count: 9
Done!