Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - Expect13 мая 2011Оглавление: 1. Expect 2. Использование 3. Мнения инструмент для автоматизации и тестирования в ОС Unix, написанный Don Libes как расширение к скрипт-языку Tcl, для интерактивных приложений таких, как telnet, ftp, passwd, fsck, rlogin, tip, ssh, и других. С помощью Tk интерактивные приложения могут быть использованы с графическим интерфейсом X11. Базовые понятияExpect поддерживает механизм регулярных выражений и основные возможности программирования, позволяющие простым скриптам эффективно управлять такими программами как telnet, ftp, и ssh, не обладающими встроенным скрипт-языком, макросами, или другими механизмами программирования. Эффективен при работе с сетевым оборудованием - массовое обновление конфигураций управляемого сетевого оборудования с дифференцированным выполнением команд) ПримерыПростой пример скрипта, который автоматизирует сессию telnet: ###################################################################################### #$remote_server - сервер, к которому осуществляется доступ # #$my_user_id - имя пользователя на сервере # #$my_password - пароль пользователя на сервере # #$my_command - команда, которая будет запущена на сервере # # # # Предполагается, что $remote_server, $my_user_id, $my_password, и $my_command # # были инициализированы в скрипте ранее. # ###################################################################################### # Открываем telnet сессию на удалённом сервере, и ждем запроса имени пользователя. spawn telnet $remote_server expect "username:" # Посылаем имя пользователя и ждем запроса пароля. send "$my_user_id\r" expect "password:" # Посылаем пароль и ждем приглашения ввода командного интерпретатора. send "$my_password\r" expect "%" # Посылаем команду, и ждем следующего приглашения ввода командного интерпретатора. send "$my_command\r" expect "%" # Запоминаем результат в переменной. Он может быть отображён, или записан на диск. set results $expect_out # Завершаем сессию telnet, и ждем символа конца строки. send "exit\r" expect eof Ещё один скрипт, который в качестве примера автоматизирует ftp-сессию: # Открыть ftp-сессию на удалённом сервере, и ждать запроса имени пользователя. spawn ftp $remote_server expect "username:" # Послать имя пользователя, и ждать приглашения ввода пароля. send "$my_user_id\r" expect "password:" # Послать пароль, и ждать приглашения ввода ftp. send "$my_password\r" expect "ftp>" # Переключиться в бинарный режим, и снова ждать приглашения ввода ftp. send "bin\r" expect "ftp>" # Выключить приглашение ввода. send "prompt\r" expect "ftp>" # Получить все файлы send "mget *\r" expect "ftp>" # Закончить ftp-сессию и ждать спецсимвол конца файла. send "bye\r" expect eof
Просмотров: 2660
|