【问题标题】:Run Shell Script from Ruby File and Capture the Output [duplicate]从 Ruby 文件运行 Shell 脚本并捕获输出 [重复]
【发布时间】:2014-05-11 10:09:30
【问题描述】:

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

这是场景: - 在我的 ruby​​ 脚本中,我需要执行 my_script.sh - shell 脚本在终端中产生以下输出

> my_script.sh
  xxxxx 1111
  yyyyy 2222
  zzzzz 3333
  • 我需要在 ruby​​ 脚本中捕获并分析此输出,以查找是否显示了关键字(例如 yyyy)。

我正在使用以下命令:

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

我无法捕获终端中生成的输出进行解析

【问题讨论】:

标签: ruby shell command output


【解决方案1】:

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

output = %x( #{my_script} )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    • 2013-07-29
    • 2016-10-29
    • 1970-01-01
    • 2018-01-18
    • 2022-11-16
    • 1970-01-01
    相关资源
    最近更新 更多