expect-lite, Automatizando scripts de manera sencilla

Aug 1st, 2010 | Posted by | Filed under Comandos, Linux, Tips

Cuando queremos escribir scripts que realicen alguna tarea automatica como puede ser conectarse a un servidor y escribir la password sin necesidad de que estemos delante, solemos recurrir a la utilidad “expect“. Pero usar expect a priori no es tan simple y requiere de algunos conocimientos, para facilitarnos el trabajo, ahora podemos utilizar tambien expect-lite.

expect-lite es una sencilla herramienta de automatizacion. Escrita en expect, esta deiseñada para mapear directamente una sesion interactiva de la terminal en un script de automatizacion. Basicamente los scripts de automatizacion se pueden crear cortando y pegando el texto de una terminal y añadiendo los caracteres “>” para lo que enviamos y “<” para lo que esperamos. Por lo tanto ningun conocimiento de expect es requerido.

Un ejemplo, para conectarnos a una maquina via ssh y ejecutar un comando remoto podriamos ejecutar el siguiente script:

@ 3
>ssh jose@soledad
<password:
>latengogrande
# issue a command once logged in
>ls
>exit

Si llamamos al script p.ej ssh.elt (.elt por las siglas de expect lite) podriamos ejecutarlo con:

./expect-lite -c ssh.elt

Otro ejemplo, reiniciar el router podria ser algo como:

@ 3
>telnet 192.168.1.1
<login:
>1234
<password:
>6666
>reboot
>exit

Para el interesado, En la web del programa podreis encontrar la documentación y varios ejemplos. Pero ya de partido os comento que es mas sencillo de usar que expect, que es de lo que se trataba.

Fuente | Ubuntu Life

Share
Comments are closed.