shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: expect + telnet


From: Fabiano Caixeta Duarte
Subject: Re: expect + telnet
Date: Tue, 14 Apr 2009 19:42:02 -0000
User-agent: eGroups-EW/0.82

--- Em address@hidden, Flavio Junior <billpp@...> escreveu
>
> Um exemplo parecido com o teu, pode te ajudar..
> Uso pra criar a regra de nat em um roteador da embratel:
> 
> Paste: http://rafb.net/p/2bfyaa19.html
> 
> --
> 
> Flávio do Carmo Júnior aka waKKu
> 
> 2009/4/14 Fabiano Caixeta Duarte <fcd.listas@...>:
> >
> >
> > Senhores,
> >
> > Estou precisando extrair umas informações de um switch. Ele infelizmente não
> > retorna estas informações via SNMP (pelo menos que eu saiba). Então resolvi
> > fazer um script com expect.
> >
> > cat get_mactable.exp
> >
> > #!/usr/bin/expect -f
> >
> > spawn telnet [lindex $argv 0]
> > expect {
> > UserName: {
> > send sti\r
> > expect {
> > PassWord: {
> > send cnr7pm\r
> > expect {
> > "#" {
> > send "show fdb\r"
> > send a
> > }
> > }
> > }
> > }
> > }
> > }
> >
> > Qual comando devo colocar após o "send a" para que ele jogue na stdin o
> > resultado do comando?
> >
> > Se eu coloco exp_continue após o "send a", ele me retorna o que eu quero. O
> > problema é que ele entra em loop, uma vez que ele continua encontrando o
> > prompt "#".
> >
> > Toda ajuda é bem-vinda.
> >
> > Obrigado!
> >
> > PS: tudo que acho na net sobre expect + telnet usa o comando interact do
> > except. Como eu quero uma solução não-interativa, isto não resolve ;)
> >
> >
>

Ajudou!

O que resolveu foi um "expect eof" após o send. Eu tinha tentado expect *. 
Passei perto ;)

Obrigado!



reply via email to

[Prev in Thread] Current Thread [Next in Thread]