在Ruby中,可以使用system()
方法来执行系统命令。system()
方法会返回命令的执行结果,并将结果输出到标准输出(STDOUT)。要在运行时获取system()
调用的STDOUT,可以使用以下方法:
backticks
或%x{}
语法:可以使用反引号或%x{}
来执行系统命令,并将结果赋值给一个变量。例如:output = `command`
这将执行command
命令,并将输出结果存储在output
变量中。
IO.popen
方法:IO.popen
方法可以打开一个管道,允许读取命令的输出。例如:IO.popen('command') do |io|
output = io.read
end
这将执行command
命令,并将输出结果存储在output
变量中。
File.open('output.txt', 'w') do |file|
system('command', out: file)
end
output = File.read('output.txt')
这将执行command
命令,并将输出结果重定向到output.txt
文件中。然后可以读取该文件的内容并存储在output
变量中。
需要注意的是,以上方法都是用于在运行时获取system()
调用的STDOUT。如果需要获取STDERR或同时获取STDOUT和STDERR,可以使用相应的方法进行修改。
以上是关于如何在运行时获取Ruby system()
调用的STDOUT的方法。希望对您有所帮助!如果您有其他问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云