Shell-skripti telnetille ja komentokäskyille

Suunnittelu on toteutettu kuoren skriptillä, jolla on automaattisen telnetin ominaisuudet ja suoritetaan suorituskäskyt muille koneille, mikä lopettaa telnetin istunnon ilman minkäänlaista vuorovaikutusta käyttäjältä. Käyttäjän tarvitsee vain suorittaa komentosarja tai kutsua toiminto toisesta käsikirjoituksesta. Tämä on laajalti sovellettavissa Linuxissa, mutta UNIX- järjestelmässä tarvitaan TCL- ja INSTALL-pakettien asennus. Expect-komennon asentamiseen tarvitaan erillinen hakemisto. Konkreettisia komentoja käytetään peittämään toisen koneen ja shell-skriptin välinen keskustelu Linuxissa. Osoite, käyttäjätunnus ja salasana määritetään kutsuttaessa komentosarjaa. IP-osoite tarvitaan kuoren ilmoittamiseen, jonka jälkeen suoritettava suorituskomento lähetetään merkitsemällä telnet-istunnon loppu .

Ongelma

Olen tehnyt shell-skriptin, joka voi telnetoida automaattisesti ja suorittaa komentoja toisella koneella ja lopettaa telnet-istunnon ilman käyttäjän välistä vuorovaikutusta; käyttäjä suorittaa vain komentosarjan tai kutsuu sitä toisesta käsikirjoituksesta.

Mutta sinun on asennettava EXPECT- ja TCL-paketit Unix-järjestelmään.

Skripti sisältää seuraavat ohjeet:

#! / usr / local / bin / wait -f #### / usr / local / bin / wait on hakemisto, johon odotettiin asennettuna

log_user 0 #### tätä komentoa käytetään piilottamaan komentosarjan ja toisen laitteen välinen keskustelu

asetettu osoite [lindex $ argv 0] ### määrittelee ensimmäisen ohjatun parametrin soittamalla komentosarjan $-osoitteeseen

asettaa käyttäjätunnus [lindex $ argv 1] ### määrittele 2. siirretyn parametrin samalla kun soitat komentosarjan $ -käyttäjälle

aseta salasana [lindex $ argv 2] ​​### määrittele kolmannen hyväksytyn parametrin soittaessasi komentosarjan $ salasanaan

spawn telnet $ {address} ### aloita telnet-istunto koneeseen IP-osoitteen avulla

### aloita keskustelu laitteen kanssa:

odottaa "kirjautumista:"

lähetä - "$ {username} \ t

odottaa "Salasana:"

lähetä - "$ {password}

odottaa "$"

lähetä - "#! / bin / ksh r" ### ilmoittaa käytettävän kuoren (valinnainen)

odottaa "$"

lähetä - "### kirjoita hänelle haluamasi komento"

odottaa "$"

send - "exit r" ### lopeta telnet-istunto ja sulje komentosarja

Voit suorittaa tämän komentosarjan kirjoittamalla:

$ wait_script "osoite" "käyttäjätunnus" "salasana" ### komentosarjan nimi on "odottaa_sisältöä"

Mutta ennen kuin kutsut odottavaa komentosarjaa, sinun pitäisi tehdä odotettavissa oleva komentosarja, ja tämä voidaan tehdä kirjoittamalla:

$ chmod + x wait_script

Ratkaisu

Kokeile tätä:

 #! / usr / local / bin / odottaa spawn telnet odottaa "kirjaudu" "lähetä" n "odottaa" Salasana: "Lähetä" n "Lähetä" bash n "Lähetä" cd / opt n "Lähetä" ls - ltr n "? (jos et anna n, se odottaa vastausta tai sinun täytyy kirjoittaa kirjoitus manuaalisesti). olla vuorovaikutuksessa 

"Odota" -komennon suorittaminen odottaa -f

Ex: odottaa -f. Odottaa

Huomautus

Kiitos ZooZoon tästä vinkistä foorumissa.

Edellinen Artikkeli Seuraava Artikkeli

Top Vinkkejä