while循环
需求:每隔半分钟检查系统负载,当系统负载大于10的时候发一封邮件
uptime|awk -F ‘load average:’ ‘{print $2}’|cut -d. -f1

0前面有空格,可以使用一下两条命令
uptime|awk -F 'load average: ’ ‘{print $2}’|cut -d. -f1
uptime|awk -F ‘load average:’ ‘{print $2}’|cut -d. -f1|sed ‘s/ //’
编辑脚本
#!/bin/bash
while true
do
load=uptime|awk -F 'load average: ' '{print $2}'|cut -d. -f1
if [ load−gt10]then/usr/local/sbin/mail.pyxxx@qq.com"loadhigh""load -gt 10 ]
then
/usr/local/sbin/mail.py xxx@qq.com "load high" "load−gt10]then/usr/local/sbin/mail.pyxxx@qq.com"loadhigh""load"
fi
sleep 30
done

需求二:用户输入一个数字,检测是数字则打印出来




break跳出循环

-eq用于比较数字,==用于比较字符

continue结束本次循环
忽略continue之下的代码,直接进行下一次循环

exit退出整个脚本


被折叠的 条评论
为什么被折叠?



