Puppet Function: shell_escape
- Defined in:
- puppet/modules/stdlib/lib/puppet/parser/functions/shell_escape.rb
- Function type:
- Ruby 3.x API
Overview
Escapes a string so that it can be safely used in a Bourne shell command line.
Note that the resulting string should be used unquoted and is not intended for use in double quotes nor in single quotes.
This function behaves the same as ruby's Shellwords.shellescape() function.
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'puppet/modules/stdlib/lib/puppet/parser/functions/shell_escape.rb', line 8 newfunction(:shell_escape, :type => :rvalue, :doc => <<-EOS Escapes a string so that it can be safely used in a Bourne shell command line. Note that the resulting string should be used unquoted and is not intended for use in double quotes nor in single quotes. This function behaves the same as ruby's Shellwords.shellescape() function. EOS ) do |arguments| raise(Puppet::ParseError, "shell_escape(): Wrong number of arguments " + "given (#{arguments.size} for 1)") if arguments.size != 1 # explicit conversion to string is required for ruby 1.9 string = arguments[0].to_s result = Shellwords.shellescape(string) return result end |