Мне нужно создавать командные строки оболочки Windows из массивов в Ruby.Если бы я использовал Bash, я мог бы использовать стандартный модуль Shellwords.Существует ли эквивалент оболочки Shellwords для оболочки Windows, которая может безопасно преобразовать массив в строку командной строки?
Я остановился на следующем:
require 'os' class String def ~ if OS.windows? return '"' + self.gsub('"', '""') + '"' else return self.shellescape end end end
, который позволяет мне создать любую строку, выполнив
~"some string with cruft&! in it"
Это версия shellwords с поддержкой Windows: https://github.com/larskanis/shellwords
Насколько я вижу, еще не вверх по течению.
Мне кажется, что на самом деле нет аналога Windows для Shellwords, к сожалению.