Conexão Telnet Conexão Procurve

0

Estou escrevendo um script para obter um dump das configurações do switch Procurve

Eu inicio o script assim:

./script.sh | tee /home/user/telnet.log

Aqui o script

#!/usr/bin/expect -f
set timeout 20
set  send_slow {5  .001}
set USERNAME "admin"
set PASSWORD "mypw"
spawn telnet 10.x.x.x
expect "Username: "
send "$USERNAME\r"
expect "Password:"
send "$PASSWORD\r"
expect "#"
send "show run\r"
send " "
send " "
send " "
interact

O envio "" é para ir até a próxima página para que eu possa capturar todas as configurações.

Funciona até agora, mas não consigo encerrar a sessão do telnet com o script Eu tentei usar enviar "exit \ r", mas não funciona. Alguém tem uma ideia de como eu poderia desistir?

Além disso, quando eu não uso a interação a senha não parece passar. O roteiro não funciona então. Qual é o problema com isso? Eu tentei usar o sono que não ajudou também.

    
por batchn00b 15.05.2018 / 14:56

1 resposta

0

No caso de precisar de espaço de imprensa mais ou menos de 3 vezes, você faria algo como

expect {
    "Press space" {    # or whatever the pager prompt is
        send " "
        exp_continue;  # this "loops" back to the expect statement
    }
    "#"
}
send "exit\r"
expect eof
    
por 15.05.2018 / 18:11