2014-05-22 60 views
1

我正在尝试使用外部工具将终端输出重定向到Eclipse控制台,我在其中指定了终端路径(例如/usr/bin/xterm)。当我运行这个工具时,它会在eclipse外打开终端。当我在Windows 7中做同样的事情时,将外部工具位置设置为Windows\System32\cmd.exe它在Eclipse控制台中运行。我想知道如何使终端(在Ubuntu 14.04中)以同样的方式工作。如何将linux终端输出重定向到Eclipse控制台?

+0

'/ usr/bin/xterm'是外部窗口的明确请求。尝试运行程序_而不用预先挂载'/ usr/bin/xterm'或尝试使用'/ bin/sh'。请注意''xterm'不等同于windows'cmd.exe'。 'cmd.exe'混合了两个功能:解释命令,在Unix中是命令'/ bin/sh',打开终端窗口,在X-Windows中是'/ usr/bin/xterm'或/ usr/bin中/ X-终端emulator'。 –

+0

非常感谢。看起来像/ bin/sh是我所需要的。 – user3655077

+0

如果有效,我会给它一个正确的答案,所以你可以将其标记为已接受。 –

回答

1

您应该使用/bin/sh作为命令解释器。

在Windows中,cmd.exe结合了两个功能—解释命令和显示终端窗口。在Unix中,这些功能是严格分开的。 /bin/sh解释命令和/usr/bin/xterm(或/usr/bin/x-terminal-emulator)显示终端窗口,在其中运行/bin/sh(或其他shell如/bin/bash,/bin/zsh等)来解释命令。

因此,如果您要求Eclipse通过/usr/bin/xterm运行某些操作,它将显示在新窗口中,因为这是XTerm所做的。如果您只是希望Eclipse捕获输出,请让它直接通过/bin/sh运行它。

相关问题