Ruby:执行bash命令,同时捕获输出和转储到屏幕

时间:2011-06-06 11:42:34

标签: ruby bash capture

所以我的问题是我需要将运行命令的输出转储到屏幕上,并将其捕获到ruby脚本中的变量中。我知道我可以这样做第二部分:

some_variable = `./some_kickbutt`

但我的问题是我需要它仍然打印到控制台,因为Hudson捕获输出并记录它为后人的缘故。

提前感谢任何想法...

1 个答案:

答案 0 :(得分:5)

将stdout流发送到stderr就像这样:

ruby -e 'var = `ls | tee /dev/stderr`; puts "\nFROM RUBY\n\n"; puts var' | nl

ruby -e 'var = `ls | tee /dev/stderr`; puts "\nFROM RUBY\n\n"; puts var' 2>&1 | nl