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

jay*_*del 1 ruby bash capture

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

some_variable = `./some_kickbutt`
Run Code Online (Sandbox Code Playgroud)

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

提前感谢任何想法......

小智 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
Run Code Online (Sandbox Code Playgroud)