36 lines
658 B
Bash
Executable File
36 lines
658 B
Bash
Executable File
#!/bin/bash
|
|
|
|
################################
|
|
# Shows bandwidth
|
|
#
|
|
# @param {String(tx|rx)} type: The bandwidth type to check
|
|
# @return {Number(kB/s)}: Speed of the interface
|
|
################################
|
|
|
|
dir=$(dirname $0)
|
|
source $dir/util.sh
|
|
|
|
type=$BLOCK_INSTANCE
|
|
|
|
file=/tmp/i3blocks_bandwidth_$type
|
|
touch $file
|
|
|
|
prev=$(cat $file)
|
|
cur=0
|
|
|
|
netdir=/sys/class/net
|
|
for iface in $(ls -1 $netdir); do
|
|
# Skip the loopback interface
|
|
if [ "$iface" == "lo" ]; then continue; fi
|
|
|
|
f=$netdir/$iface/statistics/${type}_bytes
|
|
n=$(cat $f)
|
|
cur=$(expr $cur + $n)
|
|
done
|
|
|
|
delta=$(calc "$cur - $prev")
|
|
echo "$(calc "$delta / 1000") kB/s"
|
|
|
|
# store result
|
|
echo $cur > $file
|