# File src/ruby_supportlib/phusion_passenger/utils/shellwords.rb, line 7
    def self.escape(str)
      # An empty argument will be skipped, so return empty quotes.
      return "''" if str.empty?
      str = str.dup
      # Treat multibyte characters as is.  It is caller's responsibility
      # to encode the string in the right encoding for the shell
      # environment.
      str.gsub!(/([^A-Za-z0-9_\-.,:\/@\n])/, "\\\\\\1")
      # A LF cannot be escaped with a backslash because a backslash + LF
      # combo is regarded as line continuation and simply ignored.
      str.gsub!(/\n/, "'\n'")
      return str
    end