Frage

Was ich versuche zu tun ist ein Argument für eine Option in einem Ruby -Skript, das ein Unix -Befehl sein wird. Der Befehl kann (wahrscheinlich) Greps, Rohre und mögliche andere Dinge beinhalten. Ich frage mich im Wesentlichen, kann eine Getoptlong -Option eingerichtet werden, um jeden Charakter als Argument zu akzeptieren. Für das, was es wert ist, kann ich OptionParser nicht verwenden und wahrscheinlich auch nicht schlächen (oder wie auch immer es heißt).

Danke, -Rob

War es hilfreich?

Lösung

Ich bin mir ziemlich sicher, dass Sie Ihre Unix -Befehle einfach als Zeichenfolge übergeben und sie aus Ihrem Skript ausführen können. Also so etwas wie:

#getoptlong.rb

require 'getoptlong'

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

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

und führen Sie das Skript mit so etwas aus:

ruby getOptLong.rb --unix "netstat -an | grep '61613'"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top