可以在选项参数中使用ruby的GetOptLong进程空间吗?

时间:2011-10-19 18:40:07

标签: ruby getopt-long

我要做的是在ruby脚本中为一个选项传递一个参数,该脚本将是一个unix命令。该命令可能(可能会)涉及greps,管道和其他可能的东西。基本上,我想知道的是,可以设置GetOptLong选项来接受任何字符作为参数。对于它的价值,我不能使用OptionParser,也可能不会使用(或者不管它叫什么)。

谢谢, -Rob

1 个答案:

答案 0 :(得分:1)

非常确定您可以将unix命令作为字符串传递并在脚本中执行..所以类似于:

#getoptlong.rb

require 'getoptlong'

opts = GetoptLong.new(
  [ '--unix', GetoptLong::OPTIONAL_ARGUMENT ]
)

opts.each do |opt, arg|
  case opt
    when '--unix'
      puts `#{arg}`
  end
end

并用以下内容执行脚本:

ruby getOptLong.rb --unix "netstat -an | grep '61613'"