重击并继续

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

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

重击 break 声明编号

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

break [n]

[n] 是一个可选参数,并且必须大于或等于1。 [n] 如果提供,则退出第n个封闭循环。 break 1 相当于 break

为了更好地了解如何使用 break 语句,让我们看一下以下示例。

在下面的脚本中,执行 while 当前迭代项等于时,循环将被中断 2

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!

这是使用 break 嵌套的语句 for 循环。

当争论 [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!

重击 continue 声明编号

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

的语法 continue 声明如下:

continue [n]

[n] 参数是可选的,可以大于或等于1。 [n] 给定,将恢复第n个封闭循环。 continue 1 相当于 continue

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

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!

以下脚本从以下位置打印数字 1 通过 50 可被整除的 9

如果数字不能被整数整除 9continue 语句跳过 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循环终端

Sidebar