Chinaunix

标题: 通过脚本对PING命令的返回值进行分析 [打印本页]

作者: weixiaoke    时间: 2022-06-15 17:08
标题: 通过脚本对PING命令的返回值进行分析
要求:如果可以PING通,则显示:“网络正常!”,不能PING通,则显示:“电脑异常,请立刻处理!”请高手帮助,谢谢!

作者: weixiaoke    时间: 2022-06-21 11:05
#!/bin/bash
IP="192.168.99.118"
ll_deamon() {
        /etc/init.d/deamon stop
}

start_deamon(){
        /etc/init.d/deamon start
}
check_ping() {

local total="0"
local i="0"
while [ $i -lt 10 ]; do
        local line=""
        line=`ping $IP -c 1 -s 1  -W 1  | grep "0% packet loss" `
                if [ "${line}" != "0" ]; then
                        echo "ping failed!"
                        total=$((total+1))
                else
                        echo "ping ok!"
                        total="0"
                fi
                        i=$((i+1))
                        sleep 1

done
        if [ $total -gt 5 ]; then
                echo "check failed!"
                return 1
        else
                echo "check ok!"
                return 0
        fi
}

start(){

local rtl=""
        while [ 1 ]; do
                check_ping
                rtl=$?

                if [ "$rtl" != "0" ]; then
                        echo " restart deamon start "
                        kill_deamon
                        start_deamon
                else
                        sleep 600;
                fi
        done
}

start


上面代码测试总是返回:ping failed!
测试发现应该是: if [ "${line}" != "0" ]; then 这段脚本有问题,请高手帮助排除BUG,谢谢!
作者: wh7211    时间: 2022-06-22 11:35
本帖最后由 wh7211 于 2022-06-22 11:45 编辑
  1. line=`{ ping $IP -c 1 -s 1 -W 1|grep " 0% packet loss">/dev/null 2>&1;echo $?;}`
  2.   if [ "${line}" -ne 0 ];then
复制代码

作者: 本友会机友会摄友会    时间: 2022-06-22 14:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: weixiaoke    时间: 2022-06-23 17:58
回复 3# wh7211

谢谢,测试通过了




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2