![CentOS8 上的 Zsh 将 /usr/share/Modules 中的函数放在我的用户定义的函数之前](https://linux22.com/image/174799/CentOS8%20%E4%B8%8A%E7%9A%84%20Zsh%20%E5%B0%86%20%2Fusr%2Fshare%2FModules%20%E4%B8%AD%E7%9A%84%E5%87%BD%E6%95%B0%E6%94%BE%E5%9C%A8%E6%88%91%E7%9A%84%E7%94%A8%E6%88%B7%E5%AE%9A%E4%B9%89%E7%9A%84%E5%87%BD%E6%95%B0%E4%B9%8B%E5%89%8D.png)
对于以下问题的任何建议将不胜感激。
我在 CentOS8 上运行 zsh。我面临以下问题: shell 似乎不愿意将我的用户定义函数放在第一位。
echo $fpath
首先给我/usr/share/Modules/init/zsh-functions
,然后才给我/home/user/bin/fns /usr/local/share/zsh/site-functions /usr/share/zsh/site-functions /usr/share/zsh/5.5.1/functions
我的 .zshenv 文件内容如下:
export EDITOR=/usr/bin/vim
export VISUAL=/usr/bin/vim
typeset -U path
path=(~/bin ~/progs/bin $path)
[[ $fpath = *user* ]] || fpath=(~user/bin/fns $fpath)
autoload ${fpath[1]}/*(:t)
[注:实际user-name
改为通用user
。]
这与我在基于 OSX 和 Debian 的系统上使用的同一个 .zshenv 文件没有任何问题。我觉得我错过了一些明显的东西,但我一生都无法理解它是什么以及为什么 CentOS 上的行为不同。多次谷歌搜索结果没有什么帮助,我现在发现自己对着屏幕尖叫咒骂......
感谢您花时间阅读本文,并提前感谢您提供任何有用的建议。