سؤال

في حين أن بناء 1.8.7 يبدو أن لديك نسخة مقلعة من Shellwords::shellescape, أعلم أن الطريقة هي ميزة 1.9 وبالتأكيد غير مدعومة في الإصدارات السابقة من 1.8. هل يعرف أحد أين يمكنني أن أجد، إما في شكل جوهرة أو مجرد مقتطف، وهو تطبيق مستقل قوي لأمر Bourne-Shell الهروب من أجل Ruby؟

هل كانت مفيدة؟

المحلول 2

لقد انتهيت الذهاب مع هرب GEM، الذي يحتوي على ميزة إضافية في استخدام اقتباسات افتراضيا، والفوضى فقط - الهروب عند الضرورة.

نصائح أخرى

قد تكون كذلك نسخ ما تريد من shellwords.rb. في صندوق مستودع التخريب ل Ruby (وهو gplv2.'د):

  def shellescape(str)
    # An empty argument will be skipped, so return empty quotes.
    return "''" if str.empty?

    str = str.dup

    # Process as a single byte sequence because not all shell
    # implementations are multibyte aware.
    str.gsub!(/([^A-Za-z0-9_\-.,:\/@\n])/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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top