--- Em [email protected], Flavio Junior <bil...@...> 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.lis...@...>:
> >
> >
> > 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!

Responder a