shell_34.Linux循环控制break 命令

循环控制
1.break 命令
break 命令是退出循环的一种简单方法。你可以用 break 命令退出任意类型的循环,包括while 循环和 until 循环。
(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 
$

同样适用于 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 
$

(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 
$

(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 
$

你可能感兴趣的:(数据库,服务器,linux)