vagrant解読(1)
vagrantインストールすると
/usr/bin/vagrant
っていうコマンドができている。
/usr/bin/vagrant
はvagrantをインストールしたらできる
/Vagrant/bin/vagrant
/Vagrant/bin/vagrant
こいつ何やってんだ?
なんかGEM_PATHとか
ゴニョゴニョ設定している。
で最後にこれ実行
${RUBY_EXECUTABLE}" "${VAGRANT_EXECUTABLE}" "$@"
※"$@"はシェルスクリプトで引数格納してる変数
vagrant -v だと -v が格納されている。
→/Vagrant/embeded/bin/ruby /Vagrant/embeded/gems/bin/vagrant "$@"
/Vagrant/embeded/gems/bin/vagrant
rubyでなんか書いてる
#!/vagrant-installer/staging/embedded/bin/ruby # # This file was generated by RubyGems. # # The application 'vagrant' is installed as part of a gem, and # this file is here to facilitate running it. # require 'rubygems' #→gemのライブラリー使う為に宣言 version = ">= 0" if ARGV.first str = ARGV.first str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding if str =~ /\A_(.*)_\z/ version = $1 ARGV.shift end end #→引数をバイナリにencodeing gem 'vagrant', version #→gemにvagrantがあるかどうか?true返す load Gem.bin_path('vagrant', 'vagrant', version) #→load /Applications/Vagrant/embedded/gems/gems/vagrant-1.3.5/bin/vagrant <|| あー、ruby読むの時間かかるー。 早く慣れたい。