![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| Guran |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 4.10.2011 Репутация: нет Всего: нет |
Здравствуйте. Я недавно начал изучать перл и у меня возникла некоторая проблема, которую я сам решить оказался не в состоянии. Суть: существует свитч. Нужно к нему подключиться, дать команду и вывести ответ от команды в консоль. проблема возникает в этом куске:
Все работает, но последнюю букву последнего слова функция естественно "съедает". Да и скрипт должен быть универсальным, я не всегда буду знать чем заканчивается строка. Если написать просто
то выдает command timed-out at test.pl line 23 На всякий случай выкладываю весь код
Заранее спасибо. Это сообщение отредактировал(а) Guran - 4.10.2011, 03:08 |
||||||
|
|||||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
промпт у вас какой?
|
|||
|
||||
| Guran |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 4.10.2011 Репутация: нет Всего: нет |
Не то? |
||||
|
|||||
| alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: 1 Всего: 14 |
Какой промпт на свиче? есть подозрение что неправильное рег. выражение в $match. И какой свитч, cisco?
Это сообщение отредактировал(а) alezzz - 4.10.2011, 13:11 |
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
промпт -- строка приглашения, которую выдает устройство или программа.
d\n\n мне кажется очень странным. когда вы заходите на свое устройство, что он вам показывает? |
|||
|
||||
| Guran |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 4.10.2011 Репутация: нет Всего: нет |
Свитч д-линковский
под рукой его нет но суть: Команда: sh sw Пареметр : значение Пареметр : значение Пареметр : значение Пареметр : значение Пареметр :Enabled пустая строка Приглашение писать команды дальше. Собственно последняя буква в слове Enabled и два переноса строки послужили промптом, потому что зацепиться больше не за что |
|||
|
||||
| alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: 1 Всего: 14 |
Когда появится под рукой свитч то покажите его промпт, можно сниффером. Обычно промпт заранее извесен чтобы понять что система закончила выполнение команды. Я использовал Net::Telnet на разных устройствах, вот один из вариантов как получал ответ:
Это сообщение отредактировал(а) alezzz - 4.10.2011, 20:49 |
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
можно попробовать посмотреть в сторону Net::Appliance::Session
|
|||
|
||||
| Guran |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 4.10.2011 Репутация: нет Всего: нет |
У меня в том-то и проблема, что промптом можно сделать только последнюю строку вывода, но в этом случает она "съедается". А без промпта почему-то выдается таймаут. |
|||
|
||||
| alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: 1 Всего: 14 |
Интересует "Приглашение писать команды дальше.", если оно не меняется то это и есть ваш промпт. Похоже что вы сейчас определяете конец ответа свича по последней букве в Enabled и двум переносам строки, это действительно не универсально. Это сообщение отредактировал(а) alezzz - 4.10.2011, 17:52 |
|||
|
||||
| Guran |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 4.10.2011 Репутация: нет Всего: нет |
Выдача с команды выглядит так:
Command: show switch Device Type : DES-3200-28 Fast Ethernet Switch MAC Address : 00-26-5A-8F-C6-40 IP Address : 10.240.225.249 (Manual) VLAN Name : default Subnet Mask : 255.255.255.0 Default Gateway : 10.240.225.1 Boot PROM Version : Build 1.00.B003 Firmware Version : Build 1.40.B005 Hardware Version : A1 Serial Number : PVI41A4009819 System Name : vl-3200- System Location : System Uptime : 2 days, 6 hours, 51 minutes, 3 seconds System Contact : [email protected] Spanning Tree : Enabled GVRP : Disabled IGMP Snooping : Enabled VLAN Trunk : Disabled 802.1X : Disabled Telnet : Enabled (TCP 23) Web : Enabled (TCP 80) RMON : Disabled SSH : Disabled SSL : Disabled CLI Paging : Disabled Syslog Global State: Enabled Dual Image : Supported Password Encryption Status : Enabled т.е. прицепиться больше не к чему... Вообще очень интересует, почему запрос не может работать без промпта? Это сообщение отредактировал(а) Guran - 5.10.2011, 10:00 |
|||
|
||||
| alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: 1 Всего: 14 |
Guran, вы так и непоняли что от вас хотят
![]() DES-3010FL:4# -- это промпт, в данном случае будет:
Переделайте под ваш свитч и попробуйте. |
|||
|
||||
| Guran |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 4.10.2011 Репутация: нет Всего: нет |
Естественно я пробовал эту строку ставить) но в этом случае в массив ничего не записывается.
|
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
Guran, покажите код с "этой строкой", а также добавьте в конструктор Input_log и Dump_Log и покажите, что запишется в лог-файлы.
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| Guran |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 4.10.2011 Репутация: нет Всего: нет |
В конце-концов выяснилось что надо было использовать как промпт
Но решение не мое, подскажите, что означает is в конце? |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |