Есть ли эквивалент оболочки Ruby Shellwords для оболочки Windows? - PullRequest
3 голосов
/ 12 апреля 2011

Мне нужно создавать командные строки оболочки Windows из массивов в Ruby.Если бы я использовал Bash, я мог бы использовать стандартный модуль Shellwords.Существует ли эквивалент оболочки Shellwords для оболочки Windows, которая может безопасно преобразовать массив в строку командной строки?

Ответы [ 3 ]

2 голосов
/ 09 июня 2014

Я остановился на следующем:

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 голосов
/ 30 июня 2014

Это версия shellwords с поддержкой Windows: https://github.com/larskanis/shellwords

Насколько я вижу, еще не вверх по течению.

2 голосов
/ 18 апреля 2011

Мне кажется, что на самом деле нет аналога Windows для Shellwords, к сожалению.

...