有時你在内部循環,但需要停止外部循環。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指令後,外部循環就停止了。