7月13日任务
20.11/20.12 while循环
20.13 break跳出循环
20.14 continue结束本次循环
20.15 exit退出整个脚本
for循环,需求:1~100求和
先写打印出1~100数字的脚本
再定义sum,执行出结果
执行脚本和过程
需求:查看etc下的目录
查看执行过程,可以看出不是目录的文件系统进行判断后会直接跳过
如下图,表达式一样
提示,for循环的原则是把Space空格或者Enter回车键作为一个分隔符,具体示例
while循环
需求:每隔半分钟检查一次系统的负载,当系统的负载大于10,发一封邮件
实现脚本:其中while true和while :等价,都是死循环即一直执行
执行过程和结果如下图:每隔30s执行一次,其中w |head -1 == uptime, awk正则以load average:为分隔符,代印出匹配的第二段,并cut以小数点为分隔符,截取第一段即小数点前面的数字,脚本中的判断语句为如果load大于10,则发邮件,发到某邮箱,提示为负载过高,并发送具体数值$load,下图中awk -F后的分隔符如果不加空格还可以用sed把空格替换成空:sed 's/ // '实现
需求2:在循环过程中需要人为输入一个数字(需要检测判断)
其中continue的作用表示从头开始继续循环,后面的脚本不再执行;break表示退出该脚本的循环
查看脚本执行过程(该脚本可以让用户不停的输入系统认为合法的字符串,直到合适为止,而不会从头把所有的脚本再完整的执行一遍)
解释:输入为空时,脚本提示你需要输入一些东西,输入字母加数字时,系统提示只能输入纯数字;输入纯数字,系统判断OK后echo输出
break跳出循环
写一个for循环,判断i是否等于3,一旦判断正确,直接退出循环(数字之前比较大小用-eq比较多也可以用==,而字符串只能 用==表示等于)
continue结束本次循环
执行结果如下
exit退出整个脚本
执行结果;退出脚本(通常情况下会定义一个返回值)