命令行大全

continue

rose1 发表于 2020-08-21 09:05浏览次数:

在类似Unix的操作系统上,break和continue是内置的shell函数,它们会在foreach或for循环中转出或前进。 本文档介绍Break和Continue的bash版本。

查看英文版

目录:

1 continue 运行系统环境

2 continue 语法

3 continue 例子

continue 运行系统环境

Linux

continue 语法

break [n]
continue [n]

选项

n

要中断的嵌套循环数。 预设值是1。

break [n]
continue [n]

Options

n

The number of nested loops to break. The default number is 1.

查看英文版

查看中文版

continue 例子

在下面的 shell 脚本中,当变量 a 的值为 5 或更大时,break命令从 while 循环中退出:

#!/bin/sh
a=0
while [ $a -lt 10 ]
do
   echo $a
   if [ $a -eq 5 ]
   then
      break
   fi
   a=$(( $a + 1 ))
done

...并生成以下输出:

0
1
2
3
4
5

下一个示例使用窗体中断n从嵌套循环中断开。

#!/bin/sh
for var1 in 1 2 3
do
   for var2 in 0 1 2 3
   do
      if [ $var1 -eq 2 -a $var2 -eq 1 ]
      then
         break 2
      else
         echo "$var1 $var2"
      fi
   done
done

在上面的脚本中,外部循环将var1 设置为 1,然后内部循环将var2分别设置为值 0、1、2和 3。 然后最外层的循环将 var1 设置为 2,内部循环将 var2设置为值 0和1 – 此时满足条件以执行中断 2,这将终止两个循环。它将产生以下输出:

1 0
1 1
1 2
1 3
2 0

In the following shell script, the break command exits from a while loop when the variable a has a value of 5 or greater:

#!/bin/sh
a=0
while [ $a -lt 10 ]
do
   echo $a
   if [ $a -eq 5 ]
   then
      break
   fi
   a=$(( $a + 1 ))
done

...and produces the following output:

0
1
2
3
4
5

This next example uses the form break n to break from a nested loop.

#!/bin/sh
for var1 in 1 2 3
do
   for var2 in 0 1 2 3
   do
      if [ $var1 -eq 2 -a $var2 -eq 1 ]
      then
         break 2
      else
         echo "$var1 $var2"
      fi
   done
done

In the above script, the outer loop sets var1 to 1, then the inner loop sets var2 to the values 012, and 3, respectively. Then the outermost loop sets var1 to 2 and the inner loop sets var2 to the values of 0 and 1 — at which point the conditions are met to execute break 2, which terminates both loops. It will produce the following output:

1 0
1 1
1 2
1 3
2 0

查看英文版

查看中文版