Ruby - Open3 popen3 函数已清理

Ruby - Open3 popen3 function sanitized

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

pdf2htmlEX --zoom 1.3 ~/test.pdf

由于文件名将通过参数传递,我想对其进行清理。如果 运行,例如:

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

有谁知道我是怎么解决的?谢谢!

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

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