Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

ИО Капитана Очевидности


Contributor


Сообщения: 5387
Благодарности: 1105

Профиль | Отправить PM | Цитировать


Упс, нашёл баг в функции delroutes , из-за которого не удаляются маршруты к некоторым сайтам

Я исходил из того, что команда route del -host $hostname определяет IP хоста по его имени, а затем удаляет из таблицы маршрутизации строку с соответствующим IP и маской 255.255.255.255.
Однако всё словно происходит с точностью до наоборот: команда определяет имена хостов для всех строк таблицы маршрутизации, а затем ищет среди них нужную. При этом, если для какого-то адреса поиск в "обратной зоне DNS" возвращает другое (!!!) имя сайта (например www.XXXX.ru вместо XXXX.ru), то вместо удаления выводится сообщение об отсутствии указанного маршрута.

Значит нужно удалять маршрут по IP-адресу сайта, а для этого его нужно сначала определить. Например, вот так:
Код: Выделить весь код
ip=$(ping $hostname -c 1 | head -n 1 | sed ... )
# в результате получается 
# PING имя.сайта (ip.адрес.сайта) 56(84) bytes of data.
Какие параметры для команды sed указать, чтобы получить значение между первыми скобками?

-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)

Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.

Это сообщение посчитали полезным следующие участники:

Отправлено: 07:56, 25-10-2011 | #4