我想做的是:
也就是说,让Ruby脚本捕获一些命令输出并以可以从脚本外部连接的方式重定向它?
我想提一下,脚本不能简单地启动和退出,因为它是一个REPL。我们的想法是使用REPL,您可以运行命令并将其输出重定向到其他位置以使用它。
答案 0 :(得分:1)
使用abort
和退出消息,将消息传递给STDERR(脚本将失败,退出代码为1)。您可以通过这种方式传递此shell命令输出。
这可能不是唯一(或最好)的方式,但它在过去对我有用。
[编辑]
您还可以将输出重定向到文件(使用标准方法),并在ruby脚本之外读取该文件。
答案 1 :(得分:0)
require 'open3'
stdin, stderr, status = Open3.capture3(commandline)
stdin.chomp #Here, you should ge
如果有人想使用你,你可以通过stdin.chomp获得输出