|
Muitas vezes deparamo-nos com situações que requerem automatização, mas os programas utilizados são interactivos, i.e. requerem input por parte do utilizador para funcionar. Por exemplo o comando UN*X passwd requer que o utilizador forneça a palavra chave duas vezes para efectuar a mudança da mesma, e não é possivel faze-lo atravéz de paramentros. Neste caso recorremos um um programa que proporciona a capacidade de "responder" a outros programas. o expect. exemplo #! /usr/bin/expect spawn ssh
Este endereço de email está protegido contra spam bots, pelo que o Javascript terá de estar activado para poder visualizar o endereço de email
expect "
Este endereço de email está protegido contra spam bots, pelo que o Javascript terá de estar activado para poder visualizar o endereço de email
's password:" send "password\r" expect "3Com Enterprise AP#" send "reset board\r" expect "Reboot system now? :" send "y\r" expect eof
No exempo anterior o script lança uma sessão ssh para o host 10.0.89.10 com username admin o host responde , perguntando "
Este endereço de email está protegido contra spam bots, pelo que o Javascript terá de estar activado para poder visualizar o endereço de email
's password:" e o script envia a password e assim sucessivamente, usando os comandos expect e send podemos tornar a "conversa" inicialmente interactiva num script automatizado. No exemplo anterior faz reboot a uma Access Point 3com 7250
|