break跳出循环
- 实例:
#! /bin/bash for i in `seq 1 5` do echo $i if [ $i == 3 ] then break fi echo $i done echo aaaaaaaaa
- 输出执行结果:
[root@test01 jiaoben]# sh -x break1.sh ++ seq 1 5 + for i in '`seq 1 5`' + echo 1 1 + '[' 1 == 3 ']' + echo 1 1 + for i in '`seq 1 5`' + echo 2 2 + '[' 2 == 3 ']' + echo 2 2 + for i in '`seq 1 5`' + echo 3 3 + '[' 3 == 3 ']' + break + echo aaaaaaa aaaaaaa
- 从输出结果可以看到,当判断条件成立后,break,循环到此结束,不会再给它赋值,跳出循环,但是没有退出脚本,break后面的脚本内容依然会执行。
continue结束本次循环
-
忽略continue之下的代码,直接进行下一次循环
#!/bin/bash for i in `seq 1 5` do echo $i if [ $i == 3 ] then continue fi echo $i:不等于3 done echo continue脚本执行结果
- 输出结果:
[root@test01 jiaoben]# sh continue.sh 1 1:不等于3 2 2:不等于3 3 4 4:不等于3 5 5:不等于3 continue脚本执行结果
- 从输出结果可以看到,当判断条件满足后,continue会跳过下面的代码,直接进行新的赋值,执行上面的循环。
exit退出脚本
- 案例:
#!/bin/bash for i in `seq 1 5` do echo $i if [ $i == 3 ] then exit fi echo $i done echo aaaaaaa
- 输出结果为:
[root@test01 jiaoben]# sh -x exit.sh ++ seq 1 5 + for i in '`seq 1 5`' + echo 1 1 + '[' 1 == 3 ']' + echo 1 1 + for i in '`seq 1 5`' + echo 2 2 + '[' 2 == 3 ']' + echo 2 2 + for i in '`seq 1 5`' + echo 3 3 + '[' 3 == 3 ']' + exit
- 从输出结果看出,当循环满足了判定条件后,exit直接就退出了脚本,不会再运行任何的脚本中的指令。