【发布时间】:2011-04-19 03:10:38
【问题描述】:
我必须通过 telnet 连接到远程服务器并想在那里发送文件输入。
这是一个处理器模拟器 (MCF68k),所以我不能直接将文件 scp 到服务器并从那里运行。
我可以这样发送输入:
telnet host.name < input.file
这将成功地将数据传输到服务器并运行我想要的存储命令。 但是,我需要 telnet 会话保持交互(而不是终止)。
如何通过管道将文件传递给命令,然后将标准输入的控制权返回给终端并保持交互式会话打开?
非常晚的编辑:
我认为这可以使用expect:
男人期待:http://www.manpagez.com/man/1/expect/
python 包装器:http://www.noah.org/wiki/pexpect
【问题讨论】:
-
这不可能是题外话。它将是超级用户,只是预交互输入可以被视为编程。
-
@Will,您真的阅读了常见问题解答吗? “最好的 Stack Overflow 问题中包含一些源代码,但如果您的问题通常涵盖……程序员常用的软件工具……那么您来对地方提出问题了!”
-
@Will:嗯,对于初学者来说,这对于我正在构建的 MUD 服务器来说非常方便:能够为登录等准备好前奏。然后将控制权传递给 telnet 进行交互式测试。 Telnet 也是一个很棒的工具箱程序,用于在服务器上进行测试,鉴于它的不安全性,我根本看不出它是一个用户工具。
-
@Jack 我完全可以看到像“我如何使用 telnet 来查看 sql 服务器是否已启动并准备好”这样的问题与编程相关,但这并不意味着所有的 telnet问题与编程有关。看,如果我觉得这个问题实际上与应用程序开发有关,无论如何我都会立即重新打开它。但这不是关于编程,而是关于保持 telnet 会话的交互性。这是关于 telnet 应用程序如何工作的问题,最好在 unix.stackexchange.com 或 SuperUser 或 ServerFault 上回答。
-
@Will:那你为什么关闭这个问题而不是迁移它?