0
我試過轉換這個函數。試圖將bash腳本轉換爲perl,無效
R1=`cat /sys/class/net/eth1/statistics/rx_bytes`
T1=`cat /sys/class/net/eth1/statistics/tx_bytes`
sleep $INTERVAL
R2=`cat /sys/class/net/eth1/statistics/rx_bytes`
T2=`cat /sys/class/net/eth1/statistics/tx_bytes`
TBPS=`expr $T2 - $T1`
RBPS=`expr $R2 - $R1`
TKBPS=`expr $TBPS/1024`
RKBPS=`expr $RBPS/1024`
echo "TX $1: $TKBPS kb/s RX $1: $RKBPS kb/s"
要在perl:
my $rx = `cat /sys/class/net/eth1/statistics/rx_bytes`;
my $tx = `cat /sys/class/net/eth1/statistics/tx_bytes`;
my $rx1 = `cat /sys/class/net/eth1/statistics/rx_bytes`;
my $tx1 = `cat /sys/class/net/eth1/statistics/tx_bytes`;
my $tb = $tx1 - $tx;
my $rb = $rx1 - $rx;
my $kbs = $tb/1024;
my $rbs = $rb/1024;
sleep 1;
print "$kbs $rbs\n";
bash腳本輸出:
TX eth1: 10 kB/s RX eth1: 16 kB/s
TX eth1: 10 kB/s RX eth1: 15 kB/s
TX eth1: 10 kB/s RX eth1: 16 kB/s
TX eth1: 9 kB/s RX eth1: 14 kB/s
Perl腳本輸出:
0.158203125 0.212890625
0.22265625 0.14453125
0.052734375 0.072265625
0 0.072265625
0 0.140625
正如你可以看到它不輸出什麼,我認爲它應該是,任何幫助將是應用程序reciated ..
謝謝你,我固定的代碼完美,用printf,忘了放那裏得到的數據之間的睡眠。 – jogndogn