Legacy

В силу крайней ограниченности возможностей LEGACY telnet-скриптов, настоятельно рекомендуется использовать вместо них Groovy telnet-скрипты!

Общие сведения[править]

LEGACY telnet-скрипты представляют из себя крайне простые скрипты без какой-либо поддержки логики.

Каждая строка скрипта может быть либо командой, либо комментарием.

Доступны всего 3 команды send, expect и telnet. При этом telnet по сути является псевдо-командой. Она просто открывает новую телнет-сессию и допустима лишь вначале telnet-скрипта команды CommutatorLogin и больше нигде.
После каждой команды ставится пробел, после которого вся последующая строка интерпретируется как последовательность отправляемых или ожидаемых символов. В кавычки эту строку брать не нужно. Внутри этой строки допустимо использовать переменные. Все переменные начинаются со знака процента (%) и обязаны отделяться слева и справа пробелом или переводом строки.

Комментарии начинаются с # и перед комментарием в той же строке не должно быть команд.

Пустые строки допустимы.


Доступные команды:[править]

telnet %host[править]

Открыть telnet-сессию на %host. Данная команда должна использоваться только в скрипте залогинивания на свитч (команда CommutatorLogin). В других скриптах ее использовать не нужно. Все остальные скрипты сразу начинаются с send.

send string[править]

Послать string в telnet-сессию. Каждый скрипт (кроме команды CommutatorLogin) должен начинаться с этой команды.

expect string[править]

Ожидать, пока telnet-сессия вернет string. Каждый скрипт (кроме команды CommutatorLogout) должен заканчиваться этой командой.

Примеры:

  • expect %prompt
  • expect #
  • expect reconfigure


В любом месте строки string можно вставить переменную (аргумент команды). Аргументы команды должны использоваться в скрипте с предваряющим знаком % (например %port_name или %login).

Так же во всех скриптах доступна предопределенная в модели свитча переменная %prompt, подставляющая специфичный для данной модели коммутатора prompt (например # ).


Пример скрипта залогинивания на свитч:

telnet %host
expect ogin:
send %login
expect assword:
send %password
expect %prompt

Пример скрипта, задающего имя коммутатору:

send config
expect %prompt
send hostname %name
expect %prompt
send sysContact admin@berdyansk.net
expect %prompt
send exit
expect %prompt

Пример скрипта разлогинивания со свитча:

send exit