如何捕获从Ruby调用的shell脚本的输出?

时间:2010-02-12 17:04:47

标签: ruby bash stdout

我正在使用/ etc / aliases收发电子邮件到“script @ localhost”:

script:   root,"|/path-to-my-script"

这会在STDIN上收到一封电子邮件,我正在解析并将其传递给其他脚本。

#!/usr/bin/ruby
email = ARGF.read
...parse...parse-some-more...
system("/my-other-script.sh #{email.todo}")

捕获my-other-script.sh的STDOUT进行故障排除的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

你有没看过IO.popen

我不是专家,但可能值得一看。

答案 1 :(得分:0)

我要去:

out = `/my-other-script.sh #{email.todo} 2>&1`
log.debug $?.exitstatus
log.debug out

似乎有用