首先今天有是风高月黑的一天,首先代码如下
#!/bin/bash
num=1
while :
do
echo "第$num次测试。。。"
#测试百度网址获取丢包百分比
n=`ping -c3 www.baidu.com | grep 'packet' | awk -F '%' '{print $1}' | awk '{print $NF}'`
#判断是否是空
if [ -z "$n" ]
then
echo "脚本有问题,获取变量值空"
exit
else
#截取掉数字看是否有杂文
n1=`echo $n |sed 's/[0-9]//g'`
#判断长度是否是数字
if [ -n "$n1" ]
then
echo"脚本有问题,获取变量值不是纯数字"
exit
fi
fi
if [ $n -ge 50 ]
then
echo "机器宕机,丢包率大于50"
fi
let num++
sleep 1
done
测试如下结果
我们先分析几段用到命令
ping -c3 www.baidu.com | grep 'packet' | awk -F '%' '{print $1}' | awk '{print $NF}'
测试连通获取packet,;awk 是按照变量空格隔开算层的,awk -F 是按照后面指定字符算分隔符号 换行,{print $1}输出第一行,$NF是输出最后一行
晚安各位道友!!!!!