如何执行程序并获得控制台的输出?

时间:2012-06-15 08:59:09

标签: ruby unix sinatra

  

可能重复:
  Running a command from Ruby displaying and capturing the output

我必须在本地服务器上执行程序,并在变量中获取控制台的输出

3 个答案:

答案 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'