--- 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!
