21 agosto 2023

Usando expect en un script Bash

Cuando se trata de suerte, tú creas la tuya.
Bruce Springsteen
Antes que nada una pequeña introducción a ¿Qué es expect?
Expect es un programa para controlar aplicaciones interactivas. Estas aplicaciones solicitan de forma interactiva y esperan que el usuario introduzca pulsaciones de teclas como respuesta. Al usar expect, podes escribir scripts simples para automatizar estas interacciones. Y utilizando programas interactivos automatizados, podes resolver problemas que nunca antes lo habrías considerado.

Expect puede y va a ahorrarte horas de trabajo pesado, a continuación un pequeño ejemplo:

#!/bin/bash
#
# /root/scripts/login-predefinido.sh
#
# Envia Usuario y Contraseña usando expect
#
# Vampii en gmail puntito com
# Se aceptan donaciones
#
# Pica-tecleado por Vampii, sin ningún propósito y sin garantía de ningún tipo.
#
# Toda la documentacion de este Script es distribuida bajo la licencia
# Creative Commons Atribucion-CompartirDerivadasIgual 2.5 Argentina
# (http://creativecommons.org/licenses/by-sa/2.5/ar/).
#
# Traducciones pueden ser encontradas en el sitio del proyecto CC
# http://creativecommons.org/licenses/by-sa/2.5/ar/
#
# Dedicado a la belleza del Purismo OpenSource.
#
#
##Ingrese Usuario y Contraseña a utilizar:
userName=<Usuario>
password=<Contraseña>
#
expect -c "
    spawn ssh ${userName}@10.8.100.100 ##pone la IP remota aca
    expect "password: " ##o cualquier password que quieras pedir
    send "$password\r"
    expect -re "Last Login: " ##o cualquier mensaje que quieras mostrar
    send "su -i"
    expect "password for <UserName>"
    send "$password\r"
"
#
# Fin del script

Que te diviertas!

No hay comentarios:

Publicar un comentario