Ruby - Open3 popen3函数已清理

时间:2016-10-04 14:29:47

标签: ruby popen3

希望使用Open3中的popen3函数在ruby上运行系统命令。它会是这样的:

pdf2htmlEX --zoom 1.3 ~/test.pdf

由于文件名将由params传递,我想清理它。如果运行,例如:

Open3.popen3("pdf2htmlEX --zoom 1.3 ~/test.pdf") do |stdin, stdout, stderr, wait_thr|

end

代码工作正常,但是当我尝试将参数分开时(因为函数表明它会被转义),例如:

Open3.popen3("pdf2htmlEX --zoom 1.3", "~/test.pdf") do |stdin, stdout, stderr, wait_thr|

end

它给了我错误:没有这样的文件或目录 - pdf2htmlEX --zoom 1.3

有谁知道我如何解决它?谢谢!

1 个答案:

答案 0 :(得分:2)

参数需要与命令分开。尝试

Open3.popen3("pdf2htmlEX", "--zoom", "1.3", "~/test.pdf")...