
Ich möchte zwei oder mehr Nachrichten mit einem Telnet-Client von Bash an einen TCP-Server senden. Dies bedeutet, dass ich die Sitzung offen halten sollte, während mein Skript ausgeführt wird.
Der Skriptablauf sollte beispielsweise folgendermaßen aussehen:
1) open telnet session
2) send 1st message
3) sleep 1 s
4) send 2nd message
5) close session
Wie lässt sich dies am besten erreichen?
Antwort1
expect
ist das beste Werkzeug für solche Anwendungsfälle.Hierist meine Antwort auf eine ähnliche Frage wie Ihre auf der Unix & Linux-Site. Sie kann einfach an Ihren Fall angepasst werden:
#!/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"