作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
虽然 1.8.7 的构建我似乎有一个向后移植的 Shellwords::shellescape
版本,但我知道该方法是 1.9 的一个特性,在 1.8 的早期版本中绝对不支持.有谁知道我在哪里可以找到(以 Gem 形式或仅作为片段)针对 Ruby 转义的 Bourne-shell 命令的强大独立实现?
最佳答案
您也可以从shellwords.rb 中复制您想要的内容。在 Ruby 的颠覆存储库的主干中(即 GPLv2 'd):
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
关于ruby - Ruby 1.8 的 Shellwords.shellescape 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1306680/
我一直在尝试使用包含来自 Windows 环境变量的多字节字符的参数调用 exec,但尚未找到可行的解决方案。到目前为止,这是我能够调试的内容。 为简单起见,假设我有一个名为“Seán”的目录,我试图
这个问题在这里已经有了答案: Is there an equivalent to the Ruby Shellwords module for the Windows shell? (3 个答案)
我需要从 Ruby 中的数组构造 Windows shell 命令行。如果我使用 Bash,我可以使用标准的 Shellwords 模块。 Windows shell 是否有等效于 Shellword
虽然 1.8.7 的构建我似乎有一个向后移植的 Shellwords::shellescape 版本,但我知道该方法是 1.9 的一个特性,在 1.8 的早期版本中绝对不支持.有谁知道我在哪里可以找到
我是一名优秀的程序员,十分优秀!