- 论坛徽章:
- 0
|
回复 16# rdcwayx
你好,请问一下我这里的代码这么写合理吗?为什么值一直有问题呢?- #!/usr/bin/env bash
- mkdir -p /root/record
- while true;
- do
- echo `date +%S` `cat /sys/class/net/pppoe-wan/statistics/rx_bytes ` `cat /sys/class/net/pppoe-wan/statistics/tx_bytes ` >/root/record/`date +%S`
- #------------------------------------------------------------
- S1=`date +%S`
- if [ $S1 -gt '30' ] ; then
- S2=$(expr ${S1} - 30)
- else
- S2=$(expr ${S1} + 30)
- fi
- if [ $S2 == '60' ] ; then S2=00 ; fi
- if [ $S1 == '60' ] ; then S1=00 ; fi
- S2=$(printf "%02d\n" $S2) #补齐到2位
- S1=$(printf "%02d\n" $S1)
- echo $S2 #提取S2和S1的RX值
- echo $S1 #S1和S2相差30
- S2RX=$(awk '{print $2}' /root/record/$S2)
- S1RX=$(awk '{print $2}' /root/record/$S1)
- zqrx=$(expr ${S1RX} - ${S2RX})
- xzrx=$(expr ${zqrx} / 30)
- echo ${zqrx} , ${xzrx}
- #------------------------------------------------------------
- sleep 1;
- done
复制代码 总是在08和09的时候报错- 48404067 , 1613468
- 33
- 03
- 44953059 , 1498435
- 34
- 04
- 45557115 , 1518570
- 36
- 06
- 46179702 , 1539323
- 37
- 07
- 46486241 , 1549541
- ash: invalid number '08'
- 38
- 00
- 44216358 , 1473878
- ash: invalid number '09'
- 39
- 00
- 47545892 , 1584863
- ^C
- root@OpenWrt:~#
复制代码 |
|