2019/02/15 脚本编程进阶continue和break

在这里插入图片描述在这里插入图片描述
while和for循环都能实现循环语句,很多情况下可以互相代替,还有一种是until循环
在这里插入图片描述
while当(条件成立)执行,until到(不断的执行循环,一直到某个条件为真就停止,退出循环,为假。就继续执行,
因此有些时候,可以用while循环,也可以用until循环

判断是否由用户登录,如果由用户登录就退出
用su 切换时看不到用户登录的,用户登录是可以看到的

在这里插入图片描述
在这里插入图片描述
如果发现wang用户,就发生一个登录信息,until
在这里插入图片描述
退出登录
在这里插入图片描述
就一直监控,是死循环
在这里插入图片描述
用wile 写
在这里插入图片描述
在这里插入图片描述
执行循环的时候,很多向提前中断某个循环,可以用continue ,break
如果是continue ,表示的是结束本次循环(如100此循环,需要中断50次,下一次就从51次开始)
break提前结束的不是第几轮循环,而是整个循环

在这里插入图片描述
continue
在这里插入图片描述
在这里插入图片描述
break在这里插入图片描述在这里插入图片描述
各种循环可以进行嵌套,所以continue后可以跟上数字,数字表示可以提前结束第几层的本轮循环,
在这里插入图片描述
break,表示结束地几层循环,
在这里插入图片描述
第几次代表,如果用while1 嵌套while2,那么里面的是第一次,外面的是第二层
在这里插入图片描述
打印10次,每次跳过5
在这里插入图片描述
在这里插入图片描述
2表示结束的不是本轮的,是外面那层
可以用bash -x跟踪

在这里插入图片描述
改成break是什么意思
在这里插入图片描述
在这里插入图片描述
改成2
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
shift可以把参数列表往左移,默认是1,可以移动多次
比如批量创建用户
在这里插入图片描述
在这里插入图片描述
until是为真,就跳出循环
$1为空,就跳出第一个参数

在这里插入图片描述
在这里插入图片描述
位置参数用shift做,往左移,只用关心$1就可以了
在这里插入图片描述
当位置参数 $#大于0的时候,就打印一边,打印之后往左移一个,然后再次去判断是否大于0,大于0再打印
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
2个2个移位在这里插入图片描述
在这里插入图片描述
一般无限循环里面加判断条件,跟break跳出循环
在这里插入图片描述死循环,用户必须输入东西才能退出
在这里插入图片描述
2.生成猜字游戏,要判断用户输入是否数字
在这里插入图片描述
判断输入是否数字用正则表达式
在这里插入图片描述
在这里插入图片描述
另外一种思路
在这里插入图片描述
第三种思路
在这里插入图片描述
判断是否是数字在这里插入图片描述

在这里插入图片描述
while逐行处理的功能,read line,line的值就是</PATH/FROM/SOMEFILE里的一行
第一次执行,把文件里的第一行读进来,处理完再把文件的第二行读进来
所有line的变量就是存的文件里的某一行

在这里插入图片描述
uid为偶数的用户名取出来
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对于命令执行结果做判断,把所有大于10 的利用率机器
在这里插入图片描述
在这里插入图片描述
逐行处理
awk默认逐行处理

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值