hellopasswd
break跳出本次循环
#!/bin/bash for i in seq 1 5
do echo $i if [ $i == 3] then break fi echo $i done echo a
若比较是字符串,则必须使用==,而不是-eq,纯数字则可以用
[root@localhost shell]# vi 1.sh
1 #!/bin/bash
2 for i in `seq 1 5`
3 do
4 echo $i
5 if [ $i -eq 3 ]
6 then
7 break
8 fi
9 echo $i
10 done
11 echo aaaa
[root@localhost shell]# sh -x 1.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 aaaa
aaaa
[root@localhost shell]# sh 1.sh
1
1
2
2
3
aaaa
continue结束本次循环
- 忽略continue之下的代码,直接进行下一次循环
#!/bin/bash for i in seq 1 5
do echo $i if [ $i == 3] then continue fi echo $i done echo a
[root@localhost shell]# vi 1.sh
1 #!/bin/bash
2 for i in `seq 1 5`
3 do
4 echo $i
5 if [ $i == 3 ]
6 then
7 continue
8 fi
9 echo $i
10 done
11 echo aaaa
[root@localhost shell]# sh -x 1.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 ']'
+ continue
+ for i in '`seq 1 5`'
+ echo 4
4
+ '[' 4 == 3 ']'
+ echo 4
4
+ for i in '`seq 1 5`'
+ echo 5
5
+ '[' 5 == 3 ']'
+ echo 5
5
+ echo aaaa
aaaa
[root@localhost shell]# sh 1.sh
1
1
2
2
3
4
4
5
5
aaaa
exit直接退出脚本
#!/bin/bash for i in seq 1 5
do echo $i if [ $i == 3 ] then exit fi echo $i done echo aaa
[root@localhost ~]# cd shell/
[root@localhost shell]# vi 1.sh
1 #!/bin/bash
2 for i in `seq 1 5`
3 do
4 echo $i
5 if [ $i == 3 ]
6 then
7 exit
8 fi
9 echo $i
10 done
11 echo aaaa
[root@localhost shell]# sh -x 1.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
[root@localhost shell]# sh 1.sh
1
1
2
2
3
[root@localhost shell]# vi 1.sh
1 #!/bin/bash
2 for i in `seq 1 5`
3 do
4 echo $i
5 if [ $i == 3 ]
6 then
7 exit 1
8 fi
9 echo $i
10 done
11 echo aaaa
[root@localhost shell]# sh 1.sh
1
1
2
2
3
[root@localhost shell]# echo $?
1
修改于 180228