我想使用 bash 中的 telnet 客户端向 TCP 服务器发送两条或更多消息。这意味着我应该在脚本执行时保持会话打开。
例如,脚本流程应该是:
1) open telnet session
2) send 1st message
3) sleep 1 s
4) send 2nd message
5) close session
实现这一目标的最佳方法是什么?
答案1
expect
是此类用例的最佳工具。这里这是我在 Unix & Linux 网站上回答的类似问题。它可以根据您的情况进行简单调整:
#!/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"