2

我想知道是否有一种简单的方法可以打开第二个终端来显示数据。所以我有一个在终端中运行的程序,我想知道该程序是否有可能打开第二个终端,我可以输出信息供用户阅读(不理会另一个终端)。

4

2 回答 2

2

好的,我不知道您使用的是什么操作系统或您选择的控制台是什么,但在我的 Ubuntu 12.10 安装中,这打开了一个xterm窗口,显示我的结果:

a = "Hello World!"

system(%Q[xterm -hold -e /bin/bash -l -c "echo #{a}"])

至于解释:

  • -hold防止窗口在程序执行后立即关闭。
  • -e指定要运行的程序及其参数(/bin/bash ...部件)。
  • /bin/bash调用 unix shell bash
  • -l使 bash 的行为就好像它已被作为登录 shell 调用一样
  • -c将接收控制台输出
  • echo在屏幕上显示一条消息。

查看手册页以xterm获取bash更多信息。

如果您添加更多详细信息,也许我们可以澄清一个更好的答案,但说实话,我更喜欢 Sergio 的输出到文件并让另一个控制台跟踪该文件的答案。

于 2012-11-08T02:56:58.597 回答
1

我强烈倾向于按照 Tulentsev 先生在第一条评论中建议的那样做,但是如果您想从 ruby​​ 这样做,请在此处查找有关如何从ruby​​ 开始新进程的信息。

于 2012-11-07T23:32:39.907 回答