Linux Expect Command

Linux Expect Command



Bash-skriptid muudavad ülesannete automatiseerimise lihtsaks. Erinevate korduvate toimingute automatiseerimiseks on mitmeid viise, et säästa aega ja vaeva, sealhulgas automatiseerida ülesandeid, mis nõuavad kasutaja sisendit. Lisaks pakub Linux selliseid käske nagu 'exect', et skriptide abil hõlpsalt ümber töötada.

Linuxi käsk 'expect' võimaldab teil kontrollida, kuidas töötavad skriptid, mille käivitamiseks on vaja kasutaja sisendit. Kui teie skript nõuab käivitamise jätkamiseks kasutaja sisestust, saate seda interaktiivsust juhtida käsuga „expect”.







Linux Expecti käsuga alustamine

Linuxi käsk 'expect' ei ole teie süsteemi installitud. Siiski saate selle installimiseks kasutada erinevaid meetodeid. Meie puhul kasutame selle installimiseks järgmist käsku kasutades suvandit 'apt':



$ sudo asjakohane installida oodata



Kui protsess on lõpule jõudnud, kontrollige eeldatavat versiooni, et kontrollida, kas installimine oli edukas.





Kui teil on oma Linuxis teave saadaval, on järgmine asi õppida, kuidas seda interaktiivsete toimingute automatiseerimiseks kasutada.



Esiteks loome lihtsa Bashi skripti, et näha, kuidas see interaktiivselt töötaks. Meie skript palub kasutajal sisestada mõned üksikasjad ja see saab jätkata ainult siis, kui kasutaja sisend on loetud.

Looge oma valitud tekstiredaktoriga Bashi skript. Kui olete skriptikoodi kirjutanud, salvestage ja väljuge tekstiredaktorist.

Peate muutma skriptifaili käivitatavaks. Selleks kasutage järgmist süntaksit ja sobitage see oma sihtskriptifailiga:

$ sudo chmod +x < faili >

Skripti käivitamiseks kasutage käsku „./”, millele järgneb skripti nimi. Pange tähele, kuidas skript küsib kasutajalt sisendit ja saab jätkata ainult siis, kui sisestame sisendi.

Kui soovite sellist interaktiivset seanssi automatiseerida, peate kasutama käsku „expect”, et saata nõutavad sisendid vajaduse korral, selle asemel, et kasutaja peaks neid sisestama.

Enne kui näeme, kuidas käsk 'expect' mängu hakkab, leidke selle asukoht käsuga 'which'. Pange tähele teed, kus käsk 'expect' asub, kuna vajate seda skripti 'expect' kirjutamisel.

Sel juhul on 'expect' salvestatud asukohta /usr/bin/expect.

Jällegi avage oma tekstiredaktor ja looge uus skript. Seekord salvestage see laiendiga „.exp”, et tuvastada see oodatava skriptina. Oodatava skripti kirjutamisel saate kasutada nelja peamist käsku:

  1. kudema – See käivitab uue protsessi ja lisatakse skripti käivitamiseks, mille abil soovite interaktiivseid sektsioone automatiseerida.
  2. saada – See saadab nõutud vastuse, mille kasutaja muidu sisestaks.
  3. oodata – See näitab sihtskripti rida, mis ootab väljundit.
  4. suhelda – See alustab programmiga suhtlemist.

Sel juhul on meil 'oodatav' skript kirjutatud järgmiselt. Tõstsime esile sihtskripti ja andsime 'oodatavad' valikud ja sellele, millise vastuse nad saavad.

Viimane rida näitab skripti lõppu ja see tuleb lisada alati, kui kirjutate 'oodatavat' skripti. Muutke 'expect' skript käivitatavaks, kasutades 'chmod'.

Lõpuks käivitage skript ja vaadake, mis juhtub. Selle asemel, et nõuda kasutajalt skriptiga suhtlemist nõutava sisendi sisestamise teel, lisatakse kasutaja vastusteks väärtused, mille me skriptis oodati. Nii õnnestub teil interaktiivseid kasutajasisestusi automatiseerida.

Oletame, et eelistate töötada muutujatega väärtuste jaoks, mida soovite kasutaja sisestada; ka see on võimalik. Määrake sihtmuutujad ja nende väärtused, seejärel kutsuge muutuja nimi välja, et saata see eeldatava kasutaja sisendina. Heitke pilk järgmisele näitele.

Selle muudetud skripti uuesti käivitamisel saavutate endiselt sama eesmärgi, ainult et kasutasite seekord muutujaid.

Autoexpectiga töötamine

Saate vältida skripti 'expect' loomist, kasutades käsku 'autoexpect'. See toimib nii, et käivitate käsu 'autoexpect', millele järgneb skript, mille jaoks soovite 'oodata' skripti luua.

Näiteks meie esialgne skript on 'sample.sh'. Selleks kasutame 'autoexpect' järgmise käsuga:

$ autoexpect . / näidis.sh

Kui olete selle käivitanud, luuakse automaatselt uus 'expect' skript nime 'script.sh' all ja teil palutakse anda kasutaja sisestustele oodatud vastused.

Kõik, mida vajate, on käivitada loodud skript ja te lihtsustate protsessi, kaotades vajaduse luua 'oodatav' skript käsitsi.

Järeldus

Käsk 'expect' aitab automatiseerida kasutaja interaktiivseid sisestusi Bashi skripti loomisel. Kui olete selle koos oodatud väärtustega andnud, töötab teie skript peatumata, isegi kui kasutaja sisestus on nõutav. Oleme näinud näidet käsuga 'expect' töötamise kohta, sealhulgas skripti 'expect' loomine automaatselt programmi automaatse ootusega. See on kõik!