作为一个云计算领域的专家,我可以告诉你如何在 Ruby 中获取 system() 调用的输出。
在 Ruby 中,system()
函数用于执行系统命令并返回命令执行的状态。要获取命令的输出,可以使用 Open3.capture2()
或 Open3.capture2e()
方法。
Open3.capture2()
方法执行命令并返回一个包含命令输出和状态的数组。如果命令执行成功,则状态为 true,否则为 false。
例如,以下代码执行 ls
命令并获取输出:
require 'open3'
output, status = Open3.capture2('ls')
puts "Output: #{output}"
puts "Status: #{status}"
Open3.capture2e()
方法与 Open3.capture2()
类似,但它还返回命令执行的错误输出。
例如,以下代码执行 ls
命令并获取输出和错误输出:
require 'open3'
output, error, status = Open3.capture2e('ls')
puts "Output: #{output}"
puts "Error: #{error}"
puts "Status: #{status}"
这些方法可以帮助你在 Ruby 中获取 system() 调用的输出,并且可以更好地控制命令执行的状态和输出。
领取专属 10元无门槛券
手把手带您无忧上云