阅读(4223) (16)

Bash while循环

2020-06-17 17:11:45 更新

while循环可以定义为控制流语句,只要您所应用的条件为真,该语句就允许重复执行您给定的命令集。

基础

语法:

while [ expression ];
do
commands;
multiple commands;
done

注:
expression可包含多个条件。
只要条件评估为真,do···done之间的命令会重复执行。
while循环的参数可以是布尔表达式。
若条件始终判断为true,则进入无限循环,可使用Ctrl + C终止循环。

运作规则:

  1. 检查条件,若判断为true,执行该条件后的命令集;若判断为false,退出循环。 2.在循环结束(包括退出循环)后,将程序控制权交给另一个命令。

while 循环 — break 语句

您可以通过 break 语句可以终止 while 循环的重复性任务,如下示例:

#!/bin/bash
#While Loop Example with a Break Statement


echo "Countdown for Website Launching..."
i=10
while [ $i -ge 1 ]
do
if [ $i == 2 ]
then
    echo "Mission Aborted, Some Technical Error Found."
    break
fi
echo "$i"
(( i-- ))
done

执行后得到以下结果:

10
9
8
7
6
5
4
3

注:
本次循环在第八次迭代写入了一个条件,为该条件给定了一个break语句中止迭代,并退出循环。

while 循环 — continue 语句

您可以通过 continue 语句在 while 循环中以特定条件跳过该条件下的迭代,如下示例:

#!/bin/bash
#While Loop Example with a Continue Statement


i=0
while [ $i -le 10 ]
do
((i++))
if [[ "$i" == 5 ]];
then
    continue
fi
echo "Current Number : $i"
done

执行后得到以下结果:

1
2
3
4
6
7
8
9
10
11

注:
在第五次循环写入了条件,为该条件给定了一个continue语句跳过本次迭代。