我需要在Ruby中从数组构造Windows shell命令行。如果我使用Bash,我可以使用标准的Shellwords模块。 Windows shell是否有等效的Shellwords,可以安全地将数组转换为命令行字符串?
答案 0 :(得分:2)
在我看来,不幸的是,实际上没有Windows类似于Shellwords。
答案 1 :(得分:2)
我已经解决了以下问题:
require 'os'
class String
def ~
if OS.windows?
return '"' + self.gsub('"', '""') + '"'
else
return self.shellescape
end
end
end
允许我通过
来搜索任何字符串~"some string with cruft&! in it"
答案 2 :(得分:2)
这似乎是windows支持的shellwords版本: https://github.com/larskanis/shellwords
据我所知,还没有上游。