Bash 的 while 循环语句的语法为:
while 条件命令
do
命令
...
done
只要条件为真,就执行循环。
其中,条件命令返回成功(0)时为真(true),返回失败(非 0)时为假(false)。
如果省略(部分)换行,则需要使用分号(;)区分:
while 条件命令; do 命令; 命令; done
示例:
number=0
while [ "$number" -lt 10 ] # 只要 "$number" 小于 10,就循环执行
do
echo "$number"
number=$((number + 1))
done
循环打印并增加变量 number 的值
运行结果:
0
1
2
3
4
5
6
7
8
9
break 和 continue 是 Bash 的内置命令,用于跳出循环。
break 命令立即终止整个循环,继续执行循环之后的命令
continue 命令立即结束本轮循环,开始执行下一轮循环
示例:
number=0
while true # 一直循环执行
do
if [ "$number" -eq 10 ] # number 等于 10 时结束循环
then
break # 结束循环
fi
if [ "$number" -eq 4 ] # number 等于 4 时加 3 并跳过本轮循环
then
number=$((number + 3))
continue # 进入下一轮循环
fi
echo "$number"
number=$((number + 1))
done
number 等于 10 时结束循环
number 等于 4 时加 3 并跳过本轮循环
运行结果:
0
1
2
3
7
8
9