
Quiero enviar dos o más mensajes a un servidor TCP utilizando el cliente telnet desde bash. Esto implica que debo mantener la sesión abierta mientras mi script está en ejecución.
Por ejemplo, el flujo del script debería ser:
1) open telnet session
2) send 1st message
3) sleep 1 s
4) send 2nd message
5) close session
Cuál es la mejor manera de lograr esto ?
Respuesta1
expect
es la mejor herramienta para tales casos de uso.Aquíes mi respuesta a una pregunta similar a la suya en el sitio de Unix y Linux. Se puede adaptar simplemente a su caso:
#!/usr/bin/expect
spawn telnet 10.0.0.1
expect "ogin:"
send "myuser\r"
expect "assword:"
send "mypassword\r"
expect "#"
send "command1\r"
expect "#"
sleep 1
send "command2\r"
expect "#"
send "exit\r"