2010-09-30 190 views
6

我必须通过telnet连接到远程服务器,并且希望在那里发送文件输入。如何发送命令到telnet并保持会话打开

这是一个处理器模拟器(MCF68k),所以我不能只是scp文件到服务器并从那里运行。

我可以这样输入发送:

telnet host.name < input.file

这将成功地发送数据到服务器并运行存储的命令,我想。 但是,我需要telnet会话保持交互式(不终止)。

如何将文件传输到命令,然后将stdin的控制权返回给终端并保持交互式会话处于打开状态?

极晚期编辑

,我认为这可以使用expect做到:

人想到:http://www.manpagez.com/man/1/expect/

Python包装:http://www.noah.org/wiki/pexpect

+0

屏幕实用程序可能会做你所需要的。 http://www.gnu.org/software/screen/ – aschepler 2010-09-30 02:04:51

+1

没有办法是这个offtopic。除了预交互式输入可以被认为是编程之外,它将是超级用户。 – 2010-10-02 09:10:06

+1

@你会不会看过FAQ? “最好的堆栈溢出问题有一些源代码,但如果你的问题一般涵盖...程序员常用的软件工具......那么你是在正确的地方问你的问题!” – 2010-10-04 05:24:34

回答

2

是否cat input.file - | telnet host.name工作?

+0

不幸的是,没有。虽然这似乎对其他命令有效,例如'cat input.file - | xxd'。看来,telnet连接使用'getch'或者其他一些等价的东西 - 不知道这是否搞乱了它或者什么。 – 2010-09-30 02:49:18

+0

刺激。我想不到其他任何东西,对不起。 – 2010-09-30 04:22:10

+0

这可能不起作用,因为'stdin'的刷新,也许输入不会来自tty的事实?多么痛苦。 – 2010-10-02 09:08:57

相关问题