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
注意:
分类:
shell实战2查漏补缺
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!