关于网友提出的“下面这段shell脚本有个问题,第一个参数应该是下载的的网速流量,第二个是上传的”问题疑问,本网通过在网上对“下面这段shell脚本有个问题,第一个参数应该是下载的的网速流量,第二个是上传的”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:下面这段shell脚本有个问题,第一个参数应该是下载的的网速流量,第二个是上传的
描述:下面这段shell脚本有个问题,第一个参数应该是下载的的网速流量,第二个是上传的,
可惜的是,我上传包的时候, 一个参数的下载速度是11M,第二个参数是 209.943KB/s,、
这分明不符合逻辑,求修改代码逻辑,我不是很明白
#!/bin/bash
eth=$1
RXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')
TXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')
sleep 1
RXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')
TXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')
clear
echo -e "\t RX `date +%k:%M:%S` TX"
RX=$((${RXnext}-${RXpre}))
TX=$((${TXnext}-${TXpre}))
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 "$eth \t $RX $TX "
解决方案1:
#!/bin/bash
以上介绍了“下面这段shell脚本有个问题,第一个参数应该是下载的的网速流量,第二个是上传的”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1128914.html