Bub*_*lee 4 ruby command-line-arguments
我正在尝试访问Ruby中的原始命令行参数字符串(即 - 不使用预拆分/分离的ARGV数组).有谁知道如何做到这一点?例如:
$> ruby test.rb command "line" arguments
Run Code Online (Sandbox Code Playgroud)
我希望能够判断'line'是否有引号:
"command \"line\" arguments"
Run Code Online (Sandbox Code Playgroud)
有小费吗?提前致谢
据我所知,ruby并没有从命令行中删除那些双引号.shell正在使用它们将内容插入为字符串并将它们传递给ruby.
你可以得到ruby收到的所有东西:
cmd_line = "#{$0} #{ARGV.join( ' ' )}"
Run Code Online (Sandbox Code Playgroud)
为什么你需要知道引号中的内容?你可以使用其他分隔符(比如':'或'#')吗?
如果需要,可以通过转义它们将双引号传递给ruby:
$> ruby test.rb command "\"line\"" arguments
Run Code Online (Sandbox Code Playgroud)
cmd_line在这种情况下,上面的变量将收到以下字符串:
test.rb comand "line" arguments
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3156 次 |
| 最近记录: |