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