LINUX.ORG.RU

Ruby, многостраничный вывод telnet

 


0

1

Здравствуйте. Пытаюсь научиться писать telnet-скрипты, начал с такой задачки: подключиться к удаленному узлу, вывести на экран список мак-адресов и отключиться. «Prompt» установлен в значение «приглашения» командной строки. Вывод списка мак-адресов на одной странице не умещается, выполняя команду «вручную» нужно нажимать «пробел» для пролистывания всего вывода. Собственно, скрипт завершает свою работу по тайм-ауту после вывода первой страницы (вместо «приглашения» командной строки выходит " ----More----"). Какими способами я могу получить оставшийся вывод команды? Сейчас «подключен» единственный модуль 'net/telnet'. Можно ли выполнить задачу без дополнительных модулей?

Ответ на: комментарий от TDrive

Это говно мне для обучения скриптописанию, буду прошивать коммутаторы по 500 штук и всякое такое. Мак-адреса выбрал чисто для примера.

hasculdr ()
Ответ на: комментарий от nikolnik

Догадался подсунуть в «Prompt» второе значение (через вертикальную черту). Теперь получается следующей командой отправлять пробелы «строками» и так прокручивать вывод. Но я хочу чтобы «пробелов» отправлялось столько, сколько нужно, а не наугад. Задумал написать для этого цикл, но не знаю как сохранить (а лучше продублировать) вывод в переменную, на анализе которой и будет основан цикл. Нашел только перловскую конструкцию перенаправления вывода (или сохранения, поправьте если не прав) вида

@lines = $t->cmd(String => «команда», Prompt => '/--More--/');

Сохранить в переменную нужно это

host.cmd(«display mac-address») {|c| print c}

hasculdr ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.