Telnet 和 shell 脚本。在脚本执行时保持会话打开并发送数据

Telnet 和 shell 脚本。在脚本执行时保持会话打开并发送数据

我想使用 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"

相关内容