¿Por qué mi enganche de script de Ruby Git se ejecuta con el $ PATH incorrecto?

Estoy usando RVM. Escribí un Gitpre-commit gancho para un proyecto:

#!/usr/bin/env ruby

puts RUBY_VERSION
puts `echo $PATH`
exit(1)

que genera esto cuando es ejecutado por Git:

$ git ci -m 'foo'
1.8.7
/usr/libexec/git-core:/usr/bin:/usr/local/heroku/bin:/Users/mgoerlich/.rvm/gems/ruby-2.0.0-p195@global/bin:/Users/mgoerlich/.rvm/rubies/ruby-2.0.0-p195/bin:/Users/mgoerlich/.rvm/bin:/Users/mgoerlich/adt-bundle-mac-x86_64-20130219/sdk/platform-tools:/Users/mgoerlich/adt-bundle-mac-x86_64-20130219/sdk/tools:/usr/local/bin:/usr/local/sbin:/Users/mgoerlich/.dotfiles/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/bin/core_perl:/Users/mgoerlich/bin:/usr/local/share/npm/bin:/usr/local/share/npm/bin

Parece que se ejecuta con la versión incorrecta de Ruby porque$PATH no es lo mismo que en bash o zsh o sh. Parece que git esta manipulando$PATH. Cuando se ejecuta manualmente, obtengo esto:

$ .git/hooks/pre-commit
2.0.0
/usr/local/heroku/bin:/Users/mgoerlich/.rvm/gems/ruby-2.0.0-p195@global/bin:/Users/mgoerlich/.rvm/rubies/ruby-2.0.0-p195/bin:/Users/mgoerlich/.rvm/bin:/Users/mgoerlich/adt-bundle-mac-x86_64-20130219/sdk/platform-tools:/Users/mgoerlich/adt-bundle-mac-x86_64-20130219/sdk/tools:/usr/local/bin:/usr/local/sbin:/Users/mgoerlich/.dotfiles/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/bin/core_perl:/Users/mgoerlich/bin:/usr/local/share/npm/bin:/usr/local/share/npm/bin

En la salida del gancho de confirmación, hay dos rutas precedidas, una de ellas/usr/bin Donde se ubica el ejecutable del sistema Ruby.

¿Es este un comportamiento conocido? ¿Puedo manipular eso de alguna manera? Sé que podría especificar la ruta completa a la versión correcta de Ruby en el shebang, pero esto no es lo que quiero.

Respuestas a la pregunta(3)

Su respuesta a la pregunta