user483040
user483040

Reputation:

Ruby: execute bash command, capture output AND dump to screen at the same time

So my problem is that I need to have the output of running the command dumped to the screen and also capture it in a variable in a ruby script. I know that I can do the second part like this:

some_variable = `./some_kickbutt`

But my problem is that I need it to still print to the console as Hudson captures that output and records it for posterity's sake.

thanks in advance for any ideas...

Upvotes: 1

Views: 963

Answers (1)

tilo
tilo

Reputation: 66

Just tee the stdout stream to stderr like so:

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

Upvotes: 5

Related Questions