Считаете, что Ubuntu недостаточно дружелюбна к новичкам? Помогите создать новое Руководство для новичков!
0 Пользователей и 1 Гость просматривают эту тему.
ifconfig eth0 | awk -v limit=$1 'BEGIN {FS="[ :]+"}/RX bytes/ { print $4; if($4 > limit){ print "Trafic overconsumption!" ; system("ifconfig eth0 down"); }} '
"Все дело в волшебных пузырьках". Все дело в том, что awk это отдельная программа, совершенно независимая от bash.$1 во второй и третьей строчках имеют разное значение.Во второй строке это первый аргумент командной строки bash А в третьей строке - это первое поле из текущей разбираемой awk-ом строчки (напомню, четвертое - входящий трафик).Попробуйте вот чтоКод: [Выделить]ifconfig eth0 | awk -v limit=$1 'BEGIN {FS="[ :]+"}/RX bytes/ { print $4; if($4 > limit){ print "Trafic overconsumption!" ; system("ifconfig eth0 down"); }} ' В man awk или в awk --help написано.
Нет всё равно Trafic overconsumption! при любом количестве байт
$ ifconfig eth0 | awk -v limit=50000000 'BEGIN {FS="[ :]+"} /RX bytes/{ print $4; if($4 > limit){ print "Trafic overconsumption!" } }'47339437$ ifconfig eth0 | awk -v limit=5000000 'BEGIN {FS="[ :]+"} /RX bytes/{ print $4; if($4 > limit){ print "Trafic overconsumption!" } }'47348292Trafic overconsumption!
Страница сгенерирована за 0.017 секунд. Запросов: 22.