Domanda

Quello che sto cercando di fare è passare un argomento per un'opzione in uno script Ruby che sarà un comando UNIX. Il comando può (probabilmente) coinvolgerà greps, tubi e possibili sacco di altre cose. In sostanza, quello che mi chiedo è, può un'opzione GetOptLong essere configurato per accettare qualsiasi carattere come argomento. Per quel che vale, non posso usare OptionParser, e probabilmente non slob sia (o come si chiama).

Grazie, -Rob

È stato utile?

Soluzione

Abbastanza sicuro si può solo passare i comandi Unix come una stringa ed eseguirle dall'interno dello script .. così qualcosa come:

#getoptlong.rb

require 'getoptlong'

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

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

ed eseguire lo script con qualcosa come:

ruby getOptLong.rb --unix "netstat -an | grep '61613'"
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top