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 [
l
o
a
d
−
g
t
10
]
t
h
e
n
/
u
s
r
/
l
o
c
a
l
/
s
b
i
n
/
m
a
i
l
.
p
y
x
x
x
@
q
q
.
c
o
m
"
l
o
a
d
h
i
g
h
"
"
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退出整个脚本