从Ruby文件运行Shell脚本并捕获输出

时间:2014-03-31 21:11:27

标签: ruby shell command output

我想从我的ruby文件中运行一个shell脚本。然后捕获其输出并进行分析。

这是场景: - 在我的ruby脚本中,我需要执行my_script.sh - shell脚本在终端

中产生followinf输出
> my_script.sh
  xxxxx 1111
  yyyyy 2222
  zzzzz 3333
  • 我需要捕获并分析ruby脚本中的这个输出,以便查找是否显示关键字(例如,yyyy)。

我使用以下命令:

my_script = "/home/script.sh"
system("sh #{my_script}")

我无法捕获终端中产生的用于解析的输出

1 个答案:

答案 0 :(得分:1)

不要使用system,它不会捕获STDOUT。使用反引号(或%x()):

output = %x( #{my_script} )