Asteptati - l

concepte de bază

Asteptati-va suporta expresii regulate și capabilități de bază de programare, care permit un script simplu pentru a gestiona programe, cum ar fi telnet. ftp. și ssh. care nu au un limbaj de scripting încorporat, macro-uri sau alte mecanisme de programare.

Este eficient atunci când se lucrează cu echipamente de rețea - configurații de actualizare în masă gestionate de echipamente de rețea (activ) cu o execuție diferențiată a comenzilor (în funcție de furnizor, versiunea de software sau de tipul (comutator, router, etc.))

Un exemplu simplu de un script care automatizează o sesiune telnet:

Un alt script care automatizează un exemplu ftp-a sesiune:

  • spawn - apel de program
  • se așteaptă - program de așteptări O-line a lansat
  • trimite - date sau instrucțiuni într-un program numit
  • close - script de finalizare

utilizarea

Asteptati acționează ca adeziv pentru lipirea utilităților existente. Ideea principală este de a utiliza instrumentele existente, mai degrabă decât a rezolva problema în termen de Asteptati.

Una dintre principalele aplicații sunt asteptati aplicații comerciale. Multe dintre aceste aplicații oferă o interfață linie de comandă, dar, de regulă, nu este suficient pentru a scrie script-uri. Acestea sunt concepute pentru a oferi instrumentele de gestionare a utilizatorilor, dar producătorii de multe ori nu cheltui bani pentru a crea un limbaj de scripting cu drepturi depline.

Asteptati script-ul poate rula interpretorul de comenzi pentru a citi variabilele de mediu, efectua un set de comenzi Unix pentru a obține informații, și apoi introduceți informațiile CLI produs primite în scopul de a obține stabilit de utilizatorul final. După căutarea de informații cu privire la linia de comandă a produsului, script-ul poate lua o decizie inteligentă cu privire la ce măsuri să ia, și așa mai departe. N.

Ori de câte ori se așteaptă-operație se realizează, rezultatele sunt plasate în $ expect_out variabilă locale. Acest lucru permite script-ul, în același timp, să colecteze informații pentru transmiterea către utilizator, și să ia decizii logice cu privire la măsuri suplimentare, după caz.

Expect utilizat pe scară largă ca un instrument pentru crearea de seturi pentru instrumente de testare, programe, sisteme integrate. DejaGnu este setat la test scris folosind Asteptati. Acesta a fost folosit pentru a testa compilator gcc și este foarte potrivit pentru testarea pe computerele de la distanță (de exemplu, pentru dezvoltarea sistemelor integrate).

punctele forte

Asteptati poate fi rulat la intervale regulate de cron pentru a încapsula sarcini de administrare a sistemului. Scopul acestui mod de utilizare este de a utiliza Asteptati-va pentru a rezolva sarcini de administrare a sistemului, folosind instrumente situate pe același computer. Nu există instrumente suplimentare sunt necesare pentru a învăța. Dacă programatorul știe Tcl. trecerea la Asteptati-va fi ușor și relativ simplu. Deoarece structura programului și sintaxa este aceeași, dar adăuga capacități suplimentare.

Întreprinderea are o mulțime Asteptati cazuri de utilizare pentru rezolvarea problemelor interne. Acesta este utilizat pe scară largă de către companii precum Silicon Graphics. IBM. Hewlett-Packard. Sun Microsystems. Xerox. Amdahl, Tektronix. ATT. COMPUTERVISION și Banca Mondială pentru a lansa problemele interne de testare automată în proiecte de dezvoltare, fișiere de transfer, administrarea de conturi de utilizator și de testare a rețelei.

Asteptati-portat Python și Perl ca diferite module suplimentare. Asteptati-un subset de comenzi java portate și este disponibil în SwitchTermJ (bazate pe java Terminal Emulator). Punerea în aplicare a procedurilor în aceste module este, în principiu de interpretare a versiunii originale cu funcționalitate echivalentă. Odată ce ați înțeles conceptul, va, dacă este necesar, puteți să-l mutați în alte limbi.

puncte slabe

Asteptati-sintaxa Tcl moștenit. care nu este similar cu alte limbaje de scripting, cum ar fi bash. csh. și Perl. Trebuie să ne amintim întotdeauna că, înainte de variabila ar trebui să fie semnul „$“, și atunci când nu. Asteptati Există versiuni disponibile pentru Perl și Python pentru cei care sunt familiarizați cu sintaxa lor.

O altă limitare este dificultatea în portare script-uri aștepta de pe mai multe platforme. De exemplu, se așteaptă script care a fost scris pentru utilizarea mai multor utilități Unix poate să nu funcționeze în cazul în care se execută pe Windows. Dacă este posibil, programatorul trebuie să găsească o aplicație care are o interfață linie de comandă. care oferă aceleași informații, și este probabil să necesite o schimbare de trimitere / asteapta comenzi care pot fi o parte importantă a scenariului. Această problemă nu se produce dacă utilizați TCL. perl sau piton cu interfețele lor POSIX pentru accesarea fișierelor (închidere / deschidere) și așa mai departe, și, de asemenea, atunci când se utilizează utilități standardul POSIX (telnet. ftp și așa mai departe. d.) pentru interacțiunea la distanță.

Deci, se așteaptă automatizează instrumentele care au interfață linie de comandă. dar nu și instrumentele de care au interfață grafică de utilizator. În timp ce Windows oferă multe instrumente diferite, dintre care multe au doar o interfață grafică și să rămână în afara și se așteaptă domenii de aplicare. aplicațiile grafice din Windows pot fi automatizate folosind instrumente cum ar fi AutoIt.

link-uri externe