一、break命令
break命令用于跳出循环,使用break可以跳出任何类型的循环:for、while、until。
1.跳出单循环
$ cat test.sh
#!/bin/bash
a=1
while [ $a -le 5 ]
do
if [ $a -eq 3 ]
then
break
fi
echo "a=$a"
a=$[$a+1]
done
$ ./test.sh
a=1
a=2
2、跳出内循环
$ cat test.sh
#!/bin/bash
a=1
while [ $a -le 5 ]
do
echo "Outer loop:a=$a"
a=$[$a+1]
for val in 1 2 3 4 5
do
if [ $val -eq 3 ]
then
break
fi
echo " Inner loop:val=$val"
val=$[$val+1]
done
done
$ ./test.sh
Outer loop:a=1
Inner loop:val=1
Inner loop:val=2
Outer loop:a=2
Inner loop:val=1
Inner loop:val=2
Outer loop:a=3
Inner loop:val=1
Inner loop:val=2
Outer loop:a=4
Inner loop:val=1
Inner loop:val=2
Outer loop:a=5
Inner loop:val=1
Inner loop:val=2
显然,break只跳出了内层循环。外层循环依然执行了5次
3、跳出多层循环
有时需要跳出多层循环,使用:break n,n表示要跳出的循环层数,默认情况下 n=1,代表只跳出当前循环。
$ cat test.sh
#!/bin/bash
a=1
while [ $a -le 5 ]
do
echo "Outer loop:a=$a"
a=$[$a+1]
for val in 1 2 3 4 5
do
if [ $val -eq 3 ]
then
break 2
fi
echo " Inner loop:val=$val"
val=$[$val+1]
done
done
$ ./test.sh
Outer loop:a=1
Inner loop:val=1
Inner loop:val=2
二、continue命令
continue命令用于中止本次循环,重新判断循环条件,开始下一次循环。
$ cat test.sh
#!/bin/bash
a=1
for val in 1 2 3 4 5
do
if [ $val -le 3 ]
then
continue
fi
echo "val=$val"
done
$ ./test.sh
val=4
val=5
本文主要介绍了Shell中的break和continue命令。break命令用于跳出循环,可跳出单循环、内循环,还能使用break n跳出多层循环;continue命令用于中止本次循环,重新判断循环条件以开始下一次循环,并给出了相应的代码示例。
525

被折叠的 条评论
为什么被折叠?



