我想知道是否可以让ruby脚本打开一个新的终端窗口并将其输出重定向到新打开的终端窗口。
要打开一个新终端,我目前正在进行system("gnome-terminal")
,但是经过一段时间的研究后,我仍然不知道如何实现以下目标(“伪代码”):
variable = "test"
newTerminal = system("gnome-terminal")
puts variable to newTerminal
这是否可以在没有遇到重大麻烦的情况下实现?
答案 0 :(得分:1)
要在OSX上做类似的事情(如果有人遇到同样的情况,是的,我知道这不能解决这个特定的情况)你可以这样做:
variable = "test"
`osascript -e 'tell app "Terminal"
do script "echo #{variable}"
end tell'`
注意:这与使用puts
不完全相同,因为如果您想要打印多个内容,它实际上会多次执行echo命令,但它更像是解决类似问题的基础。
答案 1 :(得分:0)
我无法轻松测试您的系统,但我尝试使用IO.popen打开终端,这应该允许您写入返回的IO流。