可能重复:
Running a command from Ruby displaying and capturing the output
我必须在本地服务器上执行程序,并在变量中获取控制台的输出
答案 0 :(得分:2)
output = `echo "hello"`
puts output # => hello
答案 1 :(得分:1)
$ irb
1.9.3p125 :001 > cal = %x[/usr/bin/cal]
1.9.3p125 :002 > puts cal
June 2012
Su Mo Tu We Th Fr Sa
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
答案 2 :(得分:0)
您可以在重新打开IO的情况下重定向输出。
$stdout.reopen("stdout.txt", "w")
$stderr.reopen("stderr.txt", "w")
puts 'stdout redirect'
warn 'stderr redirect'