如何在 Ruby 中访问原始命令行参数字符串?

2024-02-29

我正在尝试访问 Ruby 中的原始命令行参数字符串(即 - 不使用预分割/分隔的 ARGV 数组)。有谁知道如何做到这一点?例如:

$> ruby test.rb command "line" arguments

我希望能够判断“line”周围是否有引号:

"command \"line\" arguments"

有小费吗?提前致谢


据我所知,Ruby 并没有从命令行中删除那些双引号。 shell 使用它们将内容插入为字符串并将它们传递给 ruby​​。

你可以像这样获取 ruby​​ 收到的所有内容:

cmd_line = "#{$0} #{ARGV.join( ' ' )}"

为什么你需要知道引号中的内容?您可以使用其他分隔符(例如“:”或“#”)吗?

如果需要,您可以通过转义双引号将其传递给 ruby​​:

$> ruby test.rb command "\"line\"" arguments

以上cmd_line在这种情况下,变量将收到以下字符串:

test.rb comand "line" arguments
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ruby 中访问原始命令行参数字符串? 的相关文章

随机推荐