此链接通往 Bash Shell 编程学习的目录导航 ,从入门到放弃,感兴趣的可以去看看:
break 跳出整个循环!
root@zhengzelin:~# cat test.sh
#!/bin/bash
for i in $(seq 1 10)
do
if [[ $i -eq 6 ]];then
echo " 此次为 break"
break
fi
echo $i
done
root@zhengzelin:~# ./while1.sh
1
2
3
4
5
此次为 break
continue 跳出当前循环
root@zhengzelin:~# cat test.sh
#!/bin/bash
for i in $(seq 1 10)
do
if [[ $i -eq 6 ]];then
echo " continue 跳过 6"
continue
fi
echo $i
done
root@zhengzelin:~# ./while1.sh
1
2
3
4
5
continue 跳过 6
7
8
9
10
注意:
1.break的适用范围:
只能用于switch或者是循环语句中。
2.break的作用:
(1)break用于switch语句中的作用是结束一个switch语句。
(2)break用于循环语句中的作用是结束当前所在的循环语句。
1.continue的适用范围:
continue只能用于循环语句。
2.continue要注意的事项:
(1)在一种情况下(顺序执行),continue后面不能跟有其他语句,因为是永远都无法执行到的(同理 break 也是如此)
eg:
root@zhengzelin:~# cat while1.sh
#!/bin/bash
for i in $(seq 1 5)
do
if [[ $i -eq 3 ]];then
continue
echo " 此次为 continue"
fi
echo $i
done
root@zhengzelin:~# ./while1.sh
1
2
4
5
# continue 后面的语句没有执行;同理 break 也一样:
root@zhengzelin:~# cat while1.sh
#!/bin/bash
for i in $(seq 1 5)
do
if [[ $i -eq 3 ]];then
break
echo " 此次为break"
fi
echo $i
done
root@zhengzelin:~# ./while1.sh
1
2
关于 while 循环中 使用 continue:
root@zhengzelin:~# i=0;while [[ $i -le 5 ]];do if [[ $i -eq 3 ]];then continue;fi;echo $i;let i++;done;unset a
0
1
2
^C
root@zhengzelin:~# i=0;while [[ $i -le 5 ]];do let i++;if [[ $i -eq 3 ]];then continue;fi;echo $i;done;unset a
1
2
4
5
6
注意 i++ 的位置!