- #!/bin/bash
- # name: трафосчиталка 0.2.1
- # Mon Mar 1 23:21:53 MSK 2010
- # by Raiden & Xopek
-
- # обработка ctrl+c
- trap 'zz' 2
-
- zz () {
- setterm -cursor on
- echo
- #clear
- exit
- }
-
- # что бы не моргал когда не надо
- setterm -cursor off
-
-
-
- shelp () {
- echo "Using: $0 [-a] [-h] [-e devicename]"
- echo "-a - all devices without lo"
- echo "default device ppp0"
- }
-
- # если нету ключей
- DEVICE=ppp0
- # если есть
- while getopts "had:" opt; do
- case "$opt" in
- h) setterm -cursor on; shelp; exit 0;;
- a) ADEVICE=ALL ;;
- d) DEVICE=$OPTARG ;;
- # если любой другой кривой ключик
- *) setterm -cursor on; shelp; exit 1 ;;
- esac
- done
-
-
-
-
- ##DEVICE="$1"
- # все сетевые устройства кроме lo
- #if [ "$ADEVICE" = "ALL" ];then
- ALL_DEVICE=`ifconfig | grep encap | awk '{print $1}' |grep -v lo`
- #fi
- #
- #if [ "$1" != "ALL" ];then
- #DEVICE="ppp0"
- #fi
-
-
-
- function mrx () {
- ifconfig ${DEVICE} |grep "bytes" |awk -F: '{print $2 }'|awk -FTX '{print $1 }'
- }
- function mtx () {
- ifconfig ${DEVICE} |grep "bytes" |awk -F: '{print $3 }'
- }
-
- echo "===========================|трафосчиталка|==========================="
-
- if [ "$ADEVICE" = "ALL" ]; then
- NMS=`echo "$ALL_DEVICE" |wc -l`
- while : ;do
- #clear
- for i in ${ALL_DEVICE}; do
- DEVICE=$i
- # echo -ne "$i Входящий: $(mrx) Исходящий: $(mtx)\r\n"
- echo -ne "$i Входящий: \\033[1;33m$(mrx)\\033[0;39m\tИсходящий:\\033[1;32m$(mtx)\\033[0;39m\r\n"
- done
- sleep 1s
- echo -ne "\033[${NMS}A"
- done
- else
- echo -en "Устройство:${DEVICE}\n"
- while : ;do
- # echo -ne "\rВходящий: $(mrx) Исходящий: $(mtx)\r"
- echo -ne "Входящий: \\033[1;33m$(mrx)\\033[0;39m\tИсходящий:\\033[1;32m$(mtx)\\033[0;39m\r"
- sleep 1s
- done
- fi
|