您的位置:首页 > 运维架构 > Shell

【CentOS 7Shell编程7】,break跳出本次循环和continue结束本次循环以及exit直接退出脚本#180212

2018-02-12 03:03 976 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐