Zsh 无法通过搜索路径识别文件更改

Mat*_*t S 2 zsh macos

我在 OS X 10.8 上使用 ZShell 和 Oh-My-Zsh。我的搜索路径中的更新不会立即被识别。我的搜索路径:

[~]$ echo $PATH
/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
Run Code Online (Sandbox Code Playgroud)

我在 /usr/bin 中有 git。我使用 macports 来安装 git,所以在 port 安装之后,新的可执行文件在 /opt/local/bin 中。但是gitcommandwhich git仍然使用 /usr/bin 中的旧命令。如果我打开一个新的终端窗口,则会正确使用 /opt 中的新 git。

那么如何让 zsh 在当前 shell 会话期间识别路径中文件的更新呢?它是否正在运行其他一些缓存并需要更新的命令?

slh*_*hck 5

您需要重新散列已知命令:

rehash
Run Code Online (Sandbox Code Playgroud)

就这样!