本文共 947 字,大约阅读时间需要 3 分钟。
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默认逐行处理转载地址:http://dwkgn.baihongyu.com/