summaryrefslogtreecommitdiff
path: root/lib/shellwords.rb
diff options
context:
space:
mode:
-rw-r--r--lib/shellwords.rb14
1 files changed, 12 insertions, 2 deletions
@@ -57,7 +57,8 @@ module Shellwords
end
# Escapes a string so that it can be safely used in a Bourne shell
- # command line.
#
# Note that a resulted string should be used unquoted and is not
# intended for use in double quotes nor in single quotes.
@@ -77,6 +78,8 @@ module Shellwords
# Multibyte characters are treated as multibyte characters, not
# bytes.
def shellescape(str)
# An empty argument will be skipped, so return empty quotes.
return "''" if str.empty?
@@ -101,7 +104,9 @@ module Shellwords
end
# Builds a command line string from an argument list +array+ joining
- # all elements escaped for Bourne shell and separated by a space.
#
# open('|' + Shellwords.join(['grep', pattern, *files])) { |pipe|
# # ...
@@ -113,6 +118,11 @@ module Shellwords
# # ...
# }
#
def shelljoin(array)
array.map { |arg| shellescape(arg) }.join(' ')
end