Expect...

giovedì, maggio 15 2008 @ 06:59 CEST

Inviato da: Qualsiasi

Expect è un programma molto utile per creare degli automatismi usando però programmi che si apsettano un interazione con l'utente, io ad esempio lo uso per leggere un file su una macchina remota via telnet (sul router per la precisione), ovviamente online c'è MILLE manualistica su come usarlo, quindi vi faccio solo vedere il mio esempietto:



#!/usr/bin/expect -f
#
log_user 0
set timeout -1
spawn telnet 10.0.0.1
match_max 100000
expect "login: "
send -- "root\r"
expect "Password: "
send -- "PASSWORD\r"
expect "#"
send -- "cat /file_to_read\r"
log_file -a /tmp/file_to_read
sleep 1
send -- "exit\r"
expect eof



Ecco, questo script è praticamente facilissimo da leggere, si connette con telnet a 10.0.0.1, fa un login "root"/"PASSWORD" e legge il file /file_to_read, salvandolo in /tmp/file_to_read, poi manda un "exit" alla console remota, e termina. Molto interessante sapere che esiste



autoexpect - generate an Expect script from watching a session



che semplifica di molto le cose.

0 commenti


Qualsiasi.NET
http://www.qualsiasi.net/article.php/Expect_program