Zsh `which rvm` or `which gem` returns the function contents instead of the path
I've never had this problem before with my other machines but for some reason in ZSH whenever I type
开发者_高级运维which gem
or
which rvm
I get the function contents:
gem () {
local result
command gem "$@"
result="$?"
hash -r
return $result
}
instead of it's path. For the life of me I can not figure out why this is happening.
If I switch over to bash I do not have these problems.
This is normal behavior for zsh. The which
built-in is equivalent to whence -c
, which shows the definitions of functions. Use whence
, possibly with a combination of options that does not include -f
or -c
, if you don't want this. For example whence -w gem
will display gem: function
. If you only want to search for external executables (and not aliases, built-ins, reserved words or functions), use whence -v
.
精彩评论