break跳出循环
#!/bin/bash
for i in `seq 1 5`
do
echo $i
if [ $i == 3 ]
then
break
fi
echo $i
done
echo aaaaaaa
[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结束本次循环
[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直接就退出了脚本,不会再运行任何的脚本中的指令。