29 lines
819 B
Bash
29 lines
819 B
Bash
#!/bin/bash
|
|
|
|
interface=$(ip -o -4 route show to default | awk '{print $5}')
|
|
|
|
nic_in=$(grep $interface /proc/net/dev | awk '{print $2}')
|
|
nic_out=$(grep $interface /proc/net/dev | awk '{print $10}')
|
|
|
|
function human_readable {
|
|
VALUE=$1
|
|
if ! [[ "$VALUE" =~ ^[0-9]+$ ]]; then
|
|
echo "0B"
|
|
return
|
|
fi
|
|
BIGGIFIERS=( B Kb Mb Gb )
|
|
CURRENT_BIGGIFIER=0
|
|
while [ $VALUE -gt 10000 ] ;do
|
|
VALUE=$(($VALUE/1000))
|
|
CURRENT_BIGGIFIER=$((CURRENT_BIGGIFIER+1))
|
|
done
|
|
echo "$VALUE${BIGGIFIERS[$CURRENT_BIGGIFIER]}"
|
|
}
|
|
|
|
system_ip=$(hostname -I)
|
|
|
|
echo
|
|
echo "Network information:"
|
|
printf "System IP:\t%s\n" $system_ip
|
|
printf "Traffic in:\t%s\tTraffic out:\t%s\n" `human_readable $nic_in` `human_readable $nic_out`
|
|
echo |