ruby
试过一些方法如下,下面三个只能捕捉到系统命令的最终返回值(stdout),而不是屏幕上的输出
exec("echo 'hello world'") # exits from ruby, then runs the command
system('echo', 'hello world') # returns the status code
`echo "hello world"` # returns stdout
%x[echo 'hello world'] # returns stdout
最终解决方式
require 'open3'
command = 'echo "hello world"'
Open3.capture3(command)[1]
from https://blog.honeybadger.io/capturing-stdout-stderr-from-shell-commands-via-ruby/
发表于 2018.12.18
© 自由转载 - 非商用 - 非衍生 - 保持署名