Linux实时网速显示脚本

anonymous_vhacker
anonymous_vhacker
发布于 2023-01-05 / 21 阅读
0
0

Linux实时网速显示脚本

脚本

#!/bin/bash
display_usage() {
        echo -e "\t\tUsage:\n\t\t$0 eth \n\t\teg: $0 eth0 \n"
}
# check whether user had supplied -h or --help . If yes display usage
if [[ ( $* == "--help") ||  $* == "-h" ]]
        then
                display_usage
                exit 0
fi
if [  $# -lt 1 ]
        then
                #echo $#
                display_usage
                exit 1
fi
ethn=$1
while true
do
        RX_pre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $2}')
        TX_pre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $10}')
        sleep 1
        RX_next=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $2}')
        TX_next=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $10}')

        clear
        echo -e "============ ` date +%k:%M:%S` ============"
        echo -e "\tRX\t\tTX"

        RX=$((${RX_next}-${RX_pre}))
        TX=$((${TX_next}-${TX_pre}))

        if [[ $RX -lt 1024 ]];then
                RX="${RX}B/s"
        elif [[ $RX -gt 1048576 ]];then
                RX=$(echo $RX | awk '{print $1/1048576 "MB/s"}')
        else
                RX=$(echo $RX | awk '{print $1/1024 "KB/s"}')
        fi

        if [[ $TX -lt 1024 ]];then
                TX="${TX}B/s"
        elif [[ $TX -gt 1048576 ]];then
                TX=$(echo $TX | awk '{print $1/1048576 "MB/s"}')
        else
                TX=$(echo $TX | awk '{print $1/1024 "KB/s"}')
        fi

        echo -e "$ethn \t$RX\t$TX "
done

评论