我正在设计一个需要运行命令并将其存储为变量的ruby程序。Ruby命令提示符命令
var = exec('some command');
这不符合我想要的方式,它只是打印命令提示符的输出,然后结束程序。 那么是否有一个函数不会结束程序,不打印cmd输出并将信息存储在变量中?
在此先感谢。
我正在设计一个需要运行命令并将其存储为变量的ruby程序。Ruby命令提示符命令
var = exec('some command');
这不符合我想要的方式,它只是打印命令提示符的输出,然后结束程序。 那么是否有一个函数不会结束程序,不打印cmd输出并将信息存储在变量中?
在此先感谢。
您需要为使用Ruby的内置的反引号语法,或者使用%x
output = `some command`
或
output = %x(some "command")
Open3授予您标准输入,标准输出,标准错误和一个线程进入等待 运行其他程序时的子进程。您可以指定 程序的各种属性,重定向,当前目录等作为Process.spawn。
见执行command
Open3具有很多功能,但涉及文档会扼杀OP的创造力。使用['capture2'](http://www.omniref.com/ruby/HEAD/classes/Open3#.capture2),['capture2e'](http://www.omniref.com/ruby/HEAD/class /Open3#.capture2e)或['capture3'](http://www.omniref.com/ruby/HEAD/classes/Open3#.capture3)如果不使用反引号或'%x'不是很好的起始位置足够友好。 –
感谢本作品完美的各种方式! – user2974834