Linux - 退出循环

Linux - 退出循环 首页 / Linux入门教程 / Linux - 退出循环

在本章中,我们将讨论Unix中的Shell循环控制。到目前为止,您已经研究了创建循环和使用循环来完成不同的任务。有时您需要停止循环或跳过循环迭代。

  • break 语句

  • continue 语句

无限循环

如果不满足所需条件,则循环可能永远持续下去。永远执行而不会终止的循环执行无限次。因此,这种循环称为无限循环。

这是一个简单的示例,使用 while 循环显示数字0到9-

#!/bin/sh

a=10

until [ $a -lt 10 ]
do
   echo $a
   a=`expr $a + 1`
done

此循环永远持续,因为 a 总是大于或等于10 ,并且永远不小于10。

Break - 语句

在完成直到break语句的所有代码行的执行之后,break语句用于终止整个循环的执行。 然后,在循环结束后下移到代码。

以下 break 语句用于循环退出-

break

break命令也可以使用以下格式从嵌套循环中退出:

break n

在这里, n 指定到出口的 n th 封闭循环。

Break - 示例

这是一个简单的示例,该示例显示 a 变为5时循环立即终止-

#!/bin/sh

a=0

while [ $a -lt 10 ]
do
   echo $a
   if [ $a -eq 5 ]
   then
      break
   fi
   a=`expr $a + 1`
done

执行后,您将收到以下输出-

0
1
2
3
4
5

这是嵌套的for循环的简单示例。如果 var1等于2 和 var2等于0 ,则此脚本会退出两个循环-

#!/bin/sh

for var1 in 1 2 3
do
   for var2 in 0 5
   do
      if [ $var1 -eq 2 -a $var2 -eq 0 ]
      then
         break 2
      else
         echo "$var1 $var2"
      fi
   done
done

执行后,您将收到以下输出。在内部循环中,您有一个带有参数2的break命令。这表明,如果满足条件,则应跳出外部循环,并最终脱离内部循环。

1 0
1 5

Continue - 语句

Continue语句与break命令类似,不同之处在于它使循环的当前迭代而不是整个循环退出。

continue

break语句一样,可以为继续命令提供一个整数参数,以从嵌套循环中跳过命令。

continue n

在这里, n 指定要继续的 n th 封闭循环。

Continue - 示例

以下循环利用 continue 语句,该语句从continue语句返回并开始处理下一条语句-

#!/bin/sh

NUMS="1 2 3 4 5 6 7"

for NUM in $NUMS
do
   Q=`expr $NUM % 2`
   if [ $Q -eq 0 ]
   then
      echo "Number is an even number!!"
      continue
   fi
   echo "Found odd number"
done

执行后,您将收到以下输出-

Found odd number
Number is an even number!!
Found odd number
Number is an even number!!
Found odd number
Number is an even number!!
Found odd number

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Android开发高手课 -〔张绍文〕

趣谈Linux操作系统 -〔刘超〕

SQL必知必会 -〔陈旸〕

Spring Boot与Kubernetes云原生微服务实践 -〔杨波〕

浏览器工作原理与实践 -〔李兵〕

etcd实战课 -〔唐聪〕

如何成为学习高手 -〔高冷冷〕

反爬虫兵法演绎20讲 -〔DS Hunter〕

B端产品经理入门课 -〔董小圣〕

好记忆不如烂笔头。留下您的足迹吧 :)