Очаквайте - това
основни понятия
Очаквайте поддържа регулярни изрази и основните възможности за програмиране, които позволяват на един прост скрипт, който да управлява програми като Telnet. FTP. и SSH. не като вграден скриптов език, макроси, или други механизми за програмиране.
Той е ефективен, когато се работи с мрежово оборудване - маса конфигурации за актуализиране управлявани (активна) мрежа оборудване с различни изпълнение на команди (в зависимост от продавача, версията на софтуера, или вида (комутатор, маршрутизатор и т.н.))
Един прост пример на скрипт, който автоматизира телнет сесия:
Друг сценарий, който автоматизира пример FTP сесия:
- мицел - програма повикване
- очакваме - очакване програма O Онлайн стартира
- изпращане - данни или инструкции в една програма, наречена
- близо - завършване скрипт
използването на
Очаквайте действа като лепило за лепене на съществуващите услуги. Основната идея е да се използват съществуващите инструменти, а не решаване на проблема в рамките Очаквайте.
Едно от основните приложения са Очаквайте търговски приложения. Много от тези приложения предоставят интерфейс на командния ред, но като правило, не е достатъчно за писане на скриптове. Те са предназначени за осигуряване на инструменти за управление на потребителите, но производителите често не харчат пари, за да се създаде пълноправен скриптов език.
Очаквайте скрипт може да работи командния интерпретатор да прочетете на околната среда променливи, изпълнява набор от Unix команди, за да се получи информация и след това въведете информацията за продукта CLI получи, за да постигне определена от крайния потребител. След търсене на информация от командния ред на продукта, сценарият може да направи интелигентно решение за това какво действие да предприеме, и така нататък. Н.
Всеки път, когато се очаква-операция се извършва, резултатите са поставени в локална променлива $ expect_out. Това позволява на сценария в същото време събира информация за предаване на потребителя, и да направи логически решения за по-нататъшни действия в зависимост от случая.
Очаквайте широко се използва като инструмент за създаване на масивите за инструменти за тестване, програми, вградени системи. DejaGnu е настроен да се тества, написано с очаквате. Той е бил използван за тестване на GCC компилатор и е много подходящ за тестване на отдалечени компютри (например за разработване на вградени системи).
силни страни
Очаквайте може да се управлява на редовни интервали от Cron за капсулиране на задачи за администриране на системата. Целта на този начин на употреба е да се използва за решаване на задачи Очаквайте администриране на системата с помощта на инструменти, разположени на един и същ компютър. Не са необходими допълнителни инструменти, за да се научат. Ако програмист знае Tcl. прехода към Очаквайте да е лесно и сравнително прост. Тъй като структурата на програмата и синтаксис е един и същ, но се добавят допълнителни възможности.
Предприятието има много Очаквайте използват случая за решаване на вътрешни проблеми. Той се използва широко от компании като Silicon Graphics. IBM. Hewlett-Packard. Sun Microsystems. Xerox. Amdahl, Tektronix. ДТО. Computervision и Световната банка да започне вътрешните проблеми на автоматизирано тестване на проекти за развитие, трансфер на файлове, управление на потребителски акаунти и тестване на мрежата.
Очаквайте пренесли до Python и Perl и различни допълнителни модули. Очаква-подмножество на команди пренесени към Java и е на разположение в SwitchTermJ (Java базиран терминален емулатор). Изпълнение на процедури в тези модули е в основата на тълкуването на оригиналната версия с еквивалентни функции. След като разберете концепцията, ще, ако е необходимо, можете да го преместите на други езици.
слабости
Очаквайте наследил Tcl синтаксис. което не е подобна на други скриптови езици като Баш. CSH. и Perl. Ние трябва да помним винаги, че преди променливата трябва да бъде "$" знак, а когато не. Очаквайте Има версии за Perl и Python за тези, които са запознати с тяхната синтаксис.
Друго ограничение е трудността при пренасянето Очаквайте скриптове за различни платформи. Например, Очаквайте скрипт, който е написана за използването на няколко Unix комунални услуги може да не работи, ако се работи на Windows. Ако е възможно, програмистът трябва да намери приложение, което има интерфейс на командния ред. която осигурява една и съща информация, и е вероятно да се изисква за изпращане на климата / очакваме команди, които могат да бъдат основна част от сценария. Този проблем не възниква, ако използвате TCL. Perl или питон с техните POSIX интерфейс за достъп до файлове (отваряне / затваряне) и т.н., а също и когато се използват стандартни POSIX комунални услуги (телнет. FTP и така нататък. д.) за дистанционно взаимодействие.
Така че, очаквайте автоматизира инструментите, които имат интерфейс на командния ред. но не и на инструментите, които имат графичен потребителски интерфейс. Докато Windows предлага много различни инструменти, много от които имат само графичен интерфейс и остават извън очакваме-и области на приложение. Графични приложения в Windows могат да бъдат автоматизирани, използвайки инструменти като AutoIt.