我以前从未遇到过这个问题,但是出于某些原因我在ZSH时输入
which gem
Run Code Online (Sandbox Code Playgroud)
要么
which rvm
Run Code Online (Sandbox Code Playgroud)
我得到了功能内容:
gem () {
local result
command gem "$@"
result="$?"
hash -r
return $result
}
Run Code Online (Sandbox Code Playgroud)
而不是它的路径.对于我的生活,我无法弄清楚为什么会这样.
如果我切换到bash我没有这些问题.
这是zsh的正常行为.该which
内置相当于whence -c
,这显示了函数的定义.使用whence
,可能包含不包含的选项组合,-f
或者-c
如果您不希望这样.例如whence -w gem
将显示gem: function
.如果您只想搜索外部可执行文件(而不是别名,内置函数,保留字或函数),请使用whence -v
.