shell补-循环案例-循环控制

shell补-循环案例-循环控制
循环控制语句 含义 场景
continue n 终止本次循环,进入下一次循环
跳过
满足/不满足条件 不想直接退出脚本 终止本次循环
n 表示 结束本次循环,跳到外面第几层循环
break n 终止循环(退出循环)
跳出
exit n(数字) 退出脚本 n返回值 脚本开头进行判断
return n 返回数值 使用再函数或脚本的结尾,判断函数是否执行成功。
################应用实例
[root@localhost ~]# for j in {1..10}; do  [ $j -eq 5 ]&& continue ; echo $j; done
1
2
3
4
6
7
8
9
10
[root@localhost ~]# 
################################
[root@localhost ~]# for j in {1..5}; do for  i in {1..5}; do [ $j$i -eq 13 ]&&continue 2 ; echo $j$i ;done ;done
11
12
21
22
23
24
25
31
32
33
34
35
41
42
43
44
45
51
52
53
54
55
[root@localhost ~]# for j in {1..5}; do for  i in {1..5}; do [ $j$i -eq 13 ]&&continue 1 ; echo $j$i ;done ;done
11
12
14
15
21
22
23
24
25
31
32
33
34
35
41
42
43
44
45
51
52
53
54
55
[root@localhost ~]# 
[root@localhost ~]# for j in {1..5}; do for  i in {1..5}; do [ $j$i -eq 13 ]&&break  ; echo $j$i ;done ;done
11
12
21
22
23
24
25
31
32
33
34
35
41
42
43
44
45
51
52
53
54
55
[root@localhost ~]###感觉break与contine 2(自个理解的是调到第二层循环由内到外;如果就两层for循环那么2和3及以上的值都是表示2一个意思)类似
[root@localhost ~]# for j in {1..5}; do for  i in {1..5}; do [ $j$i -eq 13 ]&&break  2; echo $j$i ;done ;done
11
12
[root@localhost ~]# ###break  2 结束第二次循环,由内到外。

####return案例可以参考/etc/init.d/functions
########################案例实例
[root@localhost cycle]# cat testexit.sh 
#!/bin/bash
##############################################
# File Name:testexit.sh
# Version:v1.0
# Author:mrxu
# Organization:https://www.cnblogs.com/xjianbing/
# 
##############################################
for i in {1..10}
do
 [ "${i}" -eq 4 ] && exit
 echo  "${i}"
done
[root@localhost cycle]# cat testcontine.sh 
#!/bin/bash
##############################################
# File Name: testcontine.sh 
# Version:v1.0
# Author:mrxu
# Organization:https://www.cnblogs.com/xjianbing/
# 
##############################################
for i in {1..10}
do
 [ "${i}" -eq 4 ] && continue
 echo  "${i}"
done
[root@localhost cycle]# 
[root@localhost cycle]# bash testexit.sh 
1
2
3
[root@localhost cycle]# cp testexit.sh  testcontine.sh
[root@localhost cycle]# vim testcontine.sh 
[root@localhost cycle]# 
[root@localhost cycle]# 
[root@localhost cycle]# bash testcontine.sh 
1
2
3
5
6
7
8
9
10
[root@localhost cycle]# cat testexit.sh 

注意:

posted @   翻滚的小井蛙  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示