在我试图了解更多关于Ruby的,我在看这篇博客http://mentalized.net/journal/2010/03/08/5_ways_to_run_commands_from_ruby/探讨不同执行命令的方法,例如内核#exec和内核#系统。他的例子文件具有的代码红宝石:捕获输出
#!/usr/bin/env ruby
puts "out"
STDERR.puts "error"
两行,他注意到,每当他运行一个命令,输出是否被捕获或没有。例如,这里捕获了STDOUT,但STDERR不是。
>> `./err.rb`
err
=> "out\n"
但为什么这很重要?实际上,产出是否被“俘获”有什么不同?我试图找到我的红宝石书这个问题的答案,但无济于事。
感谢您的解释。