Ruby - 将输出写入新的终端窗口

时间:2014-11-18 15:24:26

标签: ruby gnome-terminal

我想知道是否可以让ruby脚本打开一个新的终端窗口并将其输出重定向到新打开的终端窗口。

要打开一个新终端,我目前正在进行system("gnome-terminal"),但是经过一段时间的研究后,我仍然不知道如何实现以下目标(“伪代码”):

variable = "test"
newTerminal = system("gnome-terminal")
puts variable to newTerminal

这是否可以在没有遇到重大麻烦的情况下实现?

2 个答案:

答案 0 :(得分:1)

要在OSX上做类似的事情(如果有人遇到同样的情况,是的,我知道这不能解决这个特定的情况)你可以这样做:

variable = "test"
`osascript -e 'tell app "Terminal"
  do script "echo #{variable}"
end tell'`

注意:这与使用puts不完全相同,因为如果您想要打印多个内容,它实际上会多次执行echo命令,但它更像是解决类似问题的基础。

答案 1 :(得分:0)

我无法轻松测试您的系统,但我尝试使用IO.popen打开终端,这应该允许您写入返回的IO流。