while循环

语法 while 条件; do … ; done
案例1
当系统的负载,大于10时,发封邮件给指定账户。

#!/bin/bash
while :                                                                    #:表示死循环的意思。就是真,或者1,或者true,都可以
do
    load=`w|head -1|awk -F 'load average: ' '{print $2}'|cut -d. -f1`      #:会将系统的负载,负载到load的变量里。
    if [ $load -gt 10 ]                                                    #:如果load的值大于10的时候
    then
        #/usr/local/sbin/mail.py 1234567@qq.com "主题" "内容"               #之前配置zabbix的发送邮件的脚本
        top|mail -s "load is high: $load" asldkfls@11.com
    fi
    sleep 30                                                               #休眠30s,30s之后循环执行。
done                                                                       #固定格式

w|head -1|awk -F 'load average: ' '{print $2}'|cut -d. -f1 #查询系统负载。
w,表示查看负载
head -1 表示第一行
awk -F 'load average: ':指定分隔符为'load average: '
'{print $2}'
cut -d. 表示再做分隔,以.作为分隔符,
while循环
while循环
while循环
while循环案例2
#!/bin/bash
while :
do
read -p "Please input a number: " n
if [ -z "$n" ] #-z,表示为空时
then
echo "你需要输入东西" #打印,你需要输入东西
continue #表示继续,继续循环一遍上面的语句,后面的就不会执行了,如果已经获取到数据,就会执行下面的。
fi
n1=echo $n|sed 's/[0-9]//g'
if [ -n "$n1" ]
then
echo "你只能输入一个纯数字"
continue #表示继续,继续循环一遍上面的语句(从头开始),后面的就不会执行了,如果获取的是纯数字,
fi
break #break,表示退出这个脚本循环,指的是while、do、done的循环。
done
echo $n #打印出n的值

转载于:https://blog.51cto.com/13451715/2338489

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值