Ruby: выполнить команду bash, записать вывод и вывести на экран одновременно - PullRequest
1 голос
/ 06 июня 2011

Так что моя проблема в том, что мне нужно, чтобы вывод команды запуска выводился на экран, а также записывал ее в переменную в сценарии ruby. Я знаю, что могу сделать вторую часть так:

some_variable = `./some_kickbutt`

Но моя проблема в том, что мне нужно, чтобы он по-прежнему печатался на консоли, поскольку Хадсон захватывает этот вывод и записывает его для потомков.

заранее спасибо за любые идеи ...

1 Ответ

5 голосов
/ 06 июня 2011

Просто подключите поток 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
...