Expect-скрипты
Expect-скрипты (скрипты ожидания) определяют серию команд, которые могут отправляться устройствам и ожидать от них ответа, контролирующего поведение скрипта. Для выполнения Expect-скрипта, SberMobile Server подключается к устройству при помощи протоколов Telnet или SSH.
Expect-скрипты делятся на три группы:
Скрипты чтения конфигурации. Эти скрипты вызываются только из последовательностей резервирования конфигураций устройств.
Скрипты записи конфигурации. Эти скрипты вызываются только из последовательностей восстановления конфигураций устройств.
Скрипты конфигурации. Это скрипты общего назначения, используемые для изменения конфигураций устройств или контролирования устройств.
Скрипты управляются через настройки глобальной конфигурации драйвера устройства Хоста Сети.
Структура скрипта
Каждый Expect-скрипт настраивается как таблица. Запись в этой таблице определяет команду для отправки устройству и ожидаемый выход устройства.
Каждая запись скрипта содержит:
Ожидать. Это Выражение SberMobile, которое должно иметь результатом строку. Эта строка будет являться регулярным выражением, которому должен соответствовать выход устройства. Регулярное выражение "завернуто" в Выражение SberMobile, чтобы дать возможность динамического построения регулярного выражения, зависящего от среды.
Чтобы поместить статическое ругулярное выражение в поле Expect, заключите его в одинарные или двойные кавычки, но не вставляйте какие-либо кавычки или обратные косые черты в само выражение. |
Пример: Это значение поля Ожидать будет иметь результатом следующее регулярное выражение: Это регулярное выражение, в свою очередь, будет соответствовать приглашениям ввода |
Отправить. Это Выражение SberMobile, которое должно иметь результатом строку. Эта строка будет отправлена устройству, когда от устройства приходит текст, соответствующий полю Ожидать.
Пример: Это значение поля Отправить будет иметь результатом имя пользователя, определенное в настройках резервирования и восстановления конфигурации каждого устройства. |
Пример: Это значение поля Отправить вызовет отправку устройству команды |
Пример: Это значение поля Отправить ссылается на переменную среды |
Скрипт ошибки. Подобно полю Ожидать, это Выражение SberMobile, которое должно иметь результатом строку. Эта строка будет обрабатываться как регулярное выражение, которому должен соответствовать выход устройства. Если это происходит, ответ устройства считается ошибочным, а выполнение Expect-скрипта заканчивается сообщением об ошибке, определенным полем Сообщение об ошибке.
Сообщение об ошибке. Это Выражение SberMobile, которое должно иметь результатом строку. Эта строка вернется как сообщение об ошибке, если выход устройства будет соответствовать регулярному выражению, определенному полем Ожидать ошибку.
Выход. Это Выражение SberMobile, которое должно иметь результатом строку, представляющую имя переменной среды. Любой выход, произведенный устройством в ответ на команду Отправить, будет записан в эту переменную.
Пример: Это выражение разрешается в строку |
Фильтр выхода. Это Выражение SberMobile, которое должно иметь результатом строку. Эта строка будет обрабатываться как регулярное выражение. Любая строка, соответствующая этому выражению, будет удаляться из выхода устройства, полученного в ответ на команду Отправить до того, как этот выход записывается в переменную Выход.
Пример: Это значение поля Фильтр выхода будет разрешаться в регулярное выражение Таким образом, слова |
Комментарии. Любое дополнение, описывающее назначение строки Expect-скрипта.
Среда вычисления для выражений ожидать, отправить, ожидать ошибку, сообщение об ошибке, выход и фильтр выхода
Среда вычисления выражения Expect-скрипта: | |||
Контекст устройства для конфигурирования. | |||
| |||
0 | |||
Стандартные переменные. Переменные среды, определенные ранее выполненными правилами последовательности резервирования или восстановления, если скрипт вызывается из такой последовательности. Дополнительные переменные: | |||
Имя переменной | Тип значения | Описание | |
---|---|---|---|
configurationType | строка | Тип конфигурации устройства, который резервируется или восстанавливается. Эта переменная недоступна для обычных скриптов конфигурации. |