十年专注于品牌网站建设 十年专注于品牌网站建设,低调、高逼格、有情怀的网络应用服务商!
南昌百恒网络微信公众号 扫一扫关注
小程序
tel-icon全国服务热线:400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络微信小程序

百恒网络

南昌百恒网络

shell脚本之使用break命令退出循环

百恒网络 2017-09-01 409

break命令是退出循环的一个简单方法。可以用break命令来退出任意类型的循环,包括 while和until循环。

有几种情况可以使用break命令,那么到底是哪些情况下可以使用break命令呢?下面南昌网络公司-百恒网络就来和大家介绍一下:

1、跳出单个循环

在shell执行break命令时,它会尝试跳出当前正在执行的循环。

$ cat test17

#!/bin/bash

# breaking out of a for loop

for var1 in 1 2 3 4 5 6 7 8 9 10

do

if [ $var1 -eq 5 ]

then

break

fi

echo "Iteration number: $var1"

done

echo "The for loop is completed"

$ ./test17

Iteration number: 1

Iteration number: 2

Iteration number: 3

Iteration number: 4

The for loop is completed

$

for循环通常都会遍历列表中指定的所有值。但当满足if-then的条件时,shell会执行break 命令,停止for循环。

这种方法同样适用于while和until循环。

$ cat test18

#!/bin/bash

# breaking out of a while loop

var1=1

while [ $var1 -lt 10 ]

do

if [ $var1 -eq 5 ]

then

break

fi

echo "Iteration: $var1"

var1=$[ $var1 + 1 ]

done

echo "The while loop is completed"

$ ./test18

Iteration: 1

Iteration: 2

Iteration: 3

Iteration: 4

The while loop is completed

$

while循环会在if-then的条件满足时执行break命令,终止。

2、跳出内部循环

在处理多个循环时,break命令会自动终止你所在的内层的循环。

$ cat test19

#!/bin/bash

# breaking out of an inner loop

for (( a = 1; a < 4; a++ ))

do

echo "Outer loop: $a"

for (( b = 1; b < 100; b++ ))

do

if [ $b -eq 5 ]

then

break

fi

echo " Inner loop: $b"

done

done $ ./test19

Outer loop: 1

Inner loop: 1

Inner loop: 2

Inner loop: 3

Inner loop: 4

Outer loop: 2

Inner loop: 1

Inner loop: 2

Inner loop: 3

Inner loop: 4

Outer loop: 3

Inner loop: 1

Inner loop: 2

Inner loop: 3

Inner loop: 4

$

内部循环里的for语句指明当变量b等于100时停止迭代。但内部循环的if-then语句指明当 变量b的值等于5时执行break命令。注意,即使内部循环通过break命令终止了,外部循环依然 继续执行。

3、跳出外部循环

有时你在内部循环,但需要停止外部循环。break命令接受单个命令行参数值:

break n

其中n指定了要跳出的循环层级。默认情况下,n为1,表明跳出的是当前的循环。如果你将 n设为2,break命令就会停止下一级的外部循环。

$ cat test20

#!/bin/bash

# breaking out of an outer loop

for (( a = 1; a < 4; a++ ))

do

echo "Outer loop: $a"

for (( b = 1; b < 100; b++ ))

do

if [ $b -gt 4 ]

then

break 2

fi

echo " Inner loop: $b"

done

done

$ ./test20

Outer loop: 1

Inner loop: 1

Inner loop: 2

Inner loop: 3

Inner loop: 4

$

注意,当shell执行了break命令后,外部循环就停止了。

以上便是百恒网络为大家介绍的关于shell脚本中使用break命令退出循环的几种情况,了解更多关于shell脚本方面的知识,欢迎访问百恒网络,百恒网络是优秀的南昌网络公司之一,精通各种网站建设语言方面的技术,主营网站建设、微信开发、APP开发等服务,如有需要我们服务的地方,可随时来电和我们联系!


400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络小程序

欢迎您的光顾,我们将竭诚为您服务×

售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售后服务 售后服务
 
售后服务 售后服务
 
备案专线 备案专线
 
×