Ich versuche, neue benutzerdefinierte Option für Vagrant zu implementieren, wie in dem folgenden Vagrantfile
:Wie implementiert benutzerdefinierte Option für Vagrant ohne ungültige Option Warnung?
# -*- mode: ruby -*-
require 'getoptlong'
opts = GetoptLong.new(
[ '--vm-name', GetoptLong::OPTIONAL_ARGUMENT ],
)
vm_name = ENV['VM_NAME'] || 'default'
begin
opts.each do |opt, arg|
case opt
when '--vm-name'; vm_name = arg
end
end
rescue
# @fixme: An invalid option error happens here.
end
Vagrant.configure(2) do |config|
config.vm.define vm_name
config.vm.provider "virtualbox" do |vbox, override|
override.vm.box = "ubuntu/wily64"
end
end
Nun, jedes Mal, wenn ich einen vagabundierenden Befehl ausführen es die folgende Warnung zeigt, z.B.
vagrant destroy -f
/opt/vagrant/embedded/gems/gems/vagrant-1.8.1/bin/vagrant: ungültige Option - f
Ein weiteres Beispiel:
$ vagrant --vm-name=foo up --no-provision
/opt/vagrant/embedded/gems/gems/vagrant-1.8.1/bin/vagrant: unrecognized option `--no-provision'
Bringing machine 'foo' up with 'virtualbox' provider...
==> foo: Importing base box 'ubuntu/wily64'...
Gibt es eine Möglichkeit, dass ich eine solche Warnung im oben genannten Abschnitt rescue
ignorieren kann?
Diese post ist ähnlich, aber es ist in diesem Fall nicht viel.
Ich denke, es ist möglich, für den oben gezeigten Anwendungsfall - siehe meine Antwort unten. –