Могут ли процессные пространства Ruby's Getoptlong в опциональных аргументах?
-
27-10-2019 - |
Вопрос
То, что я пытаюсь сделать, это передать аргумент для опции в сценарии Ruby, который будет командой UNIX. Команда может (вероятно, будет включать в себя грип, трубы и возможное множество других вещей. По сути, мне интересно, можно настроить опцию getoptlong, чтобы принять любой символ в качестве аргумента. Для того, что это стоит, я не могу использовать OptionParser, и, вероятно, не склонен (или как это называется).
Спасибо, -rob
Решение
Уверен, что вы можете просто передать свои команды 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'"
Не связан с StackOverflow