shell腳本通過ping命令來獲取平均延時


#!/bin/bash
#設置環境變量
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
export PATH

while getopts "c:i:" opt; do
    case $opt in
        c)
            count=$OPTARG
            ;;
        i)
            ips=$OPTARG
            ;;
        \?)
            ;;
    esac
done

tmp_fifofile="/tmp/ping.fifo"
mkfifo $tmp_fifofile
exec 6<>$tmp_fifofile
rm $tmp_fifofile

for ((i=0;i<20;i++));do
    echo
done >&6

for ip in `echo $ips |awk -F'|' '{  for(i=1;i<=NF;i++) {print $i} }'`
do
read -u 6
{
    rtt=`ping -c $count $ip |grep rtt |awk '{print $4}' |awk -F'/' '{print $2}'`
    rtt=${rtt:-'-1'}
    echo $ip $rtt
}&
echo >&6
done

wait
exec 6>&-

 

執行效果:

[root@localhost ~]# ./weifengcli_ping -c 4 -i 192.168.4.4
192.168.4.4 5.867

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM