linuxshell中break和continue跳出循环
到⽬前为⽌,我们已经看到了,创建循环和使⽤循环来完成不同的任务。有时候,你需要停⽌循环或跳过循环迭代。
在本教程中,您将了解以下两个语句⽤于控制 Shell 循环:
1. break 语句
2. continue 语句
⽆限循环:
循环有限的⽣命,他们跳出来,⼀旦条件是 false 还是 false 取决于循环。
由于所需的条件是不符合⼀个循环可能永远持续下去。永远不会终⽌执⾏⼀个循环执⾏⽆限次数。出于这个原因,这样的循环被称为⽆限循环。
例⼦:
下⾯是⼀个简单的例⼦,使⽤while循环显⽰数字0到9:
#!/bin/sh
a=10
while [ $a -lt 10 ]
do
echo $a
a=`expr $a + 1`
done
这个循环将永远持续下去,因为常是⼤于10,它永远不会成为⼩于10。所以这是⽆限循环真实的例⼦。
break语句:
break语句⽤于终⽌整个循环的执⾏,完成后所有⾏代码break语句的执⾏。然后,它逐级的代码跟在循环结束。
linux执行shell命令
语法
将⽤于以下break语句退出循环:
break
将⽤于以下break语句退出循环:
break n
这⾥n指定的第n个封闭的循环退出。
例⼦:
下⾯是⼀个简单的例⼦展⽰了循环将终⽌只要⼀变为5:
#!/bin/sh
a=0
while [ $a -lt 10 ]
do
echo $a
if [ $a -eq 5 ]
then
break
fi
a=`expr $a + 1`
done
这将产⽣以下结果:
1
2
3
4
5
下⾯是⼀个简单的嵌套循环的例⼦。这个脚本打破两个循环,如果的 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
这将产⽣以下结果。内循环有⼀个 break 命令与参数2。这表明,如果条件得到满⾜应该跳出外循环,并最终从内循环跳出。
1 0
1 5
continue 语句:
continue语句break命令类似,但它会导致当前迭代的循环退出,⽽不是整个循环。
这种参数是有⽤的,当⼀个错误已经发⽣,但你想尝试执⾏下⼀个循环迭代。
语法
continue
和break语句⼀样,⼀个整数参数可以给continue命令跳过嵌套循环的命令。
continue n
这⾥n指定第n个封闭循环 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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。