-4

可能重复:
从显示和捕获输出的 Ruby 运行命令

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

4

3 回答 3

2
output = `echo "hello"`
puts output # => hello
于 2012-06-15T09:11:40.243 回答
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  
于 2012-06-15T09:07:08.077 回答
0

您可以使用 IO 重新打开重定向输出。

$stdout.reopen("stdout.txt", "w")
$stderr.reopen("stderr.txt", "w")

puts 'stdout redirect'
warn 'stderr redirect'
于 2012-06-15T09:08:24.963 回答