Method: Shellwords.shelljoin

Defined in:
lib/shellwords.rb

.shelljoin(array) ⇒ Object Also known as: join

Builds a command line string from an argument list, array.

All elements are joined into a single string with fields separated by a space, where each element is escaped for the Bourne shell and stringified using to_s.

ary = ["There's", "a", "time", "and", "place", "for", "everything"]
argv = Shellwords.join(ary)
argv #=> "There\\'s a time and place for everything"

Array#shelljoin is a shortcut for this function.

ary = ["Don't", "rock", "the", "boat"]
argv = ary.shelljoin
argv #=> "Don\\'t rock the boat"

You can also mix non-string objects in the elements as allowed in Array#join.

output = `#{['ps', '-p', $$].shelljoin}`


194
195
196
# File 'lib/shellwords.rb', line 194

def shelljoin(array)
  array.map { |arg| shellescape(arg) }.join(' ')
end