[Linuxtrent] Re: Script per Telnet

iorno 22 novembre 2010 16:44, Stefano
Cirolini<stefano.cirolini@xxxxxxxxx>ha scritto:

> Se la connessione non si chiude alla fine, il comando finale "expect
> eof" non ritorna finché non scade il timeout di default (dovrebbe
> essere 10 sec).
>
> Prova a sostituire "expect eof" con un "exit", così dovrebbe forzare
> una chiusura della connessione.
>
> Sostituendo con exit in effetti esce, adotterò questa soluzione


> Un'altra cosa: vedo che a un certo punto fa un
>
> expect -exact "\r
> Download...^[\[120D^[\[0KDownload...     10352 Bytes\r
> 10.100.1.105(cfg)#"
>
> questo funziona solo se il numero di bytes è sempre lo stesso. Forse è
> più robusto usare una regular expression:
>
> expect -re {.*Download\.\.\..*Download\.\.\. *[0-9]*
> Bytes.*10.100.1.105(cfg)#}
>
>
> Avevo visto anche io questo problema, ma non conosco praticamente nulla di
questo sistema, e nella mia ignoranza ho modificato lo script così:
####
set timeout -1
spawn telnet 10.100.1.105
expect  "login: "
send -- "administrator\r"
expect -exact "administrator\r
password: "
send -- "\r"
expect -exact "\r
10.100.1.105>"
send -- "enable\r"
expect -exact "enable\r
10.100.1.105#"
send -- "configure\r"
expect -exact "configure\r
10.100.1.105(cfg)#"
send -- "copy http://10.100.1.1/devices/00:a0:ba:04:67:c2.cfgstartup-config\r";
expect -exact "10.100.1.105(cfg)#"
send -- "reload\r"
expect -exact "reload\r
Running configuration has been changed.\r
Do you want to copy the 'running-config' to the 'startup-config'?\r
Press 'yes' to store, 'no' to drop changes : "
send -- "no\r"
expect -exact "no\r
Press 'yes' to restart, 'no' to cancel : "
send -- "yes\r\n"
exit
###
Perchè comunque sono a conoscenza che farà quel passaggio e mi basta solo
aspettare la console.
Grazie per l'aiuto!

A.

Other related posts: