dee Posted December 4, 2023 Posted December 4, 2023 соглашусь с тем что по логике в свиче должен быть выход после каждого срабатывания , но так же есть сомнение что в данном случае i может иметь одновременно несколько значений (тогда это был бы как минимум массив) , да и дефолтного выхода так же не присутствует , по этому думается что если касаться именно этого вопроса то многократные иф тут лишнее (но я учту во время проверки) Вставить ник Quote
sdy_moscow Posted December 4, 2023 Posted December 4, 2023 3 часа назад, dee сказал: соглашусь с тем что по логике в свиче должен быть выход после каждого срабатывания , но так же есть сомнение что в данном случае i может иметь одновременно несколько значений (тогда это был бы как минимум массив) , да и дефолтного выхода так же не присутствует , по этому думается что если касаться именно этого вопроса то многократные иф тут лишнее (но я учту во время проверки) Почитайте как работает switch - case! Обратите внимание на использование break! Дело не в множественности значений i, а самом case. Еще раз - ЭТО НЕ СЕКЦИИ if, а ТОЧКИ (МЕТКИ) ПЕРЕХОДА (как по goto). Вставить ник Quote
dee Posted October 9, 2024 Posted October 9, 2024 собирал другую систему и опять столкнулся с той же проблемой , думал думал и решил делать по канону switch case (когда должен быть break после совпадения) , тоже вполне скушало. Вставить ник Quote
sdy_moscow Posted October 9, 2024 Posted October 9, 2024 @dee почти год прошел, что у Вас там за ошибки и проблемы, я не помню. Но в том коде что Вы выложили, в вашем case нет default. Может ли i быть не 0,1,2, а что-то другое - это Вам виднее (надо весь код смотреть). Но вот что будет если оно не попадет в эти числа - я Вам скажу: ничего не будет (т.е. никакие переменные не изменятся). Вставить ник Quote
dee Posted October 10, 2024 Posted October 10, 2024 ну без этого блока скорости не ставятся , значит он как минимум отвечает за установку параметров скоростей , с ним всё есть и работает штатно , значение дефаульт как бы нет и в оригинале , так что будет такой же ноль как и без него Вставить ник Quote
agent2011 Posted November 9, 2024 Posted November 9, 2024 (edited) Может кому пригодится :-) скрипт на TOP онлайн качальщиков (подредактируйте под себя). создаем файл с любым названием (например traff-top.sh), делаем его исполняемым. #!/bin/sh clear while true do a1=$(cat /proc/net/ipt_ratelimit/fin | awk '{print $16}' | awk ' {Total=Total+$1} END{print "Входящий общий: " Total}' | numfmt --field 3 --to=si) b1=$(cat /proc/net/ipt_ratelimit/fout | awk '{print $16}' | awk ' {Total=Total+$1} END{print "Исходящий общий: " Total}' | numfmt --field 3 --to=si) a=$(cat /proc/net/ipt_ratelimit/fin | awk '{print $1,$3,$16}' | sort -rnk3 | numfmt --field 2,3 --to=si) b=$(cat /proc/net/ipt_ratelimit/fout | awk '{print $1,$3,$16}' | sort -rnk3 | numfmt --field 2,3 --to=si) echo "$a1 <----><------>$b1" echo echo "IP адрес Тариф Входящий IP адрес Тариф Исходящий" echo echo "$a \n$b" | column | head -n 55 #выводимое кол-во строк (в данном случае 55) sleep 2 clear done (для вывода полной статистики по всем абонентам в отдельные файлы я думаю и так поймете что нужно делать) скрипт для просмотра онлайн потребления трафика по определенному абоненту: создаем файл с любым названием (например traff-ip.sh), делаем его исполняемым. #!/bin/sh clear echo "Введите IP адресс абонента:" read ipaddr while true do clear ip=$ipaddr a=$(cat /proc/net/ipt_ratelimit/fin | grep -w $ipaddr | awk '{print $1,$3,$16}' | sort -rnk3 | numfmt --field 2,3 --to=si) b=$(cat /proc/net/ipt_ratelimit/fout | grep -w $ipaddr | awk '{print $1,$3,$16}' | sort -rnk3 | numfmt --field 2,3 --to=si) echo " IP адрес Тариф Скорость" echo echo "Входящий трафик: $a" echo echo "Исходящий трафик: $b" sleep 1 done Edited November 10, 2024 by agent2011 Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.