Bash break与continue

linux

循环允许您多次运行一个或多个命令,直到满足特定条件为止。 但是,有时您可能需要更改循环流程并终止循环或仅终止当前迭代。

在Bash中,breakcontinue语句使您可以控制循环执行。

Bash break声明

break语句终止当前循环,并将程序控制权传递给终止循环之后的命令。 它用于退出forwhileuntilselect循环。 break语句的语法采用以下形式:

break [n]

[n]是可选参数,并且必须大于或等于1。提供n时,将退出第n个封闭循环。 break 1等效于break

为更好地理解如何使用break语句,我们来看以下示例。在下面的脚本中,一旦当前迭代项等于2就会中断 while循环的执行。

i=0

while [[ $i -lt 5 ]]

do

echo "Number: $i"

((i++))

if [[ $i -eq 2 ]]; then

break

fi

done

echo 'All Done!'

Number: 0

Number: 1

All Done!

以下是在嵌套的for循环中使用break语句的示例。

如果未指定参数[n],则break终止最里面的封闭循环。 外循环不终止:

for i in {1..3}; do

for j in {1..3}; do

if [[ $j -eq 2 ]]; then

break

fi

echo "j: $j"

done

echo "i: $i"

done

echo 'All Done!'

j: 1

i: 1

j: 1

i: 2

j: 1

i: 3

All Done!

如果要退出外循环,请使用break 2。 参数2告诉break终止第二个封闭循环:

for i in {1..3}; do

for j in {1..3}; do

if [[ $j -eq 2 ]]; then

break 2

fi

echo "j: $j"

done

echo "i: $i"

done

echo 'All Done!'

j: 1

All Done!

Bash击continue表达式

continue语句跳过当前循环的封闭循环体内的其余命令,并将程序控制权传递给循环的下一个循环。

continue语句的语法如下:

continue [n]

n参数是可选的,并且可以大于或等于1。给出n时,将恢复第n个封闭循环。 continue 1等于continue

在下面的示例中,一旦当前迭代项等于到2,则continue语句将导致执行返回到循环的开头并继续下一次迭代。

i=0

while [[ $i -lt 5 ]]; do

((i++))

if [[ "$i" == '2' ]]; then

continue

fi

echo "Number: $i"

done

echo 'All Done!'

Number: 1

Number: 3

Number: 4

Number: 5

All Done!

以下脚本打印从150的数字,这些数字可以被9整除。

如果数字不能被9整除,则continue语句将跳过echo命令,并将控制权传递给循环的下一个迭代。

for i in {1..50}; do

if [[ $(( $i % 9 )) -ne 0 ]]; then

continue

fi

echo "Divisible by 9: $i"

done

Divisible by 9: 9

Divisible by 9: 18

Divisible by 9: 27

Divisible by 9: 36

Divisible by 9: 45

结论

循环是编程语言的基本概念之一。 在Bash等脚本语言中,循环对于自动化重复性任务很有用。

break语句用于退出当前循环。 continue语句用于退出循环的当前迭代并开始下一个迭代。

如果您有任何问题或反馈,请随时发表评论。

以上是 Bash break与continue 的全部内容, 来源链接: utcz.com/z/507609.html

回到顶部