0

我想要做的是为一个 ruby​​ 脚本中的一个选项传递一个参数,该脚本将是一个 unix 命令。该命令可能(可能会)涉及 grep、管道和可能的许多其他内容。本质上,我想知道的是,是否可以设置 GetOptLong 选项以接受任何字符作为参数。对于它的价值,我不能使用 OptionParser,而且可能也不能使用 slob(或其他任何名称)。

谢谢,-罗伯

4

1 回答 1

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'"
于 2011-10-19T22:29:45.147 回答