在 Mac OS X 中使用 zsh,环境变量 PATH 一不小心就会变得很紊乱,表现为自己设置的路径总是被放到系统路径之后,部分路径还会有重复。这是我们不太了解 zsh 启动时加载文件的顺序和 Mac OS X 的 shell 类型导致的。

zsh 启动过程中会依次读取以下文件:

  1. /etc/zshenv
  2. $ZDOTDIR/.zshenv($ZDOTDIR 未设置时默认为 $HOME)
  3. 如果是 login shell,读取 /etc/zprofile, $ZDOTDIR/.zprofile
  4. 如果是 interactive shell,读取 /etc/zshrc, $ZDOTDIR/.zshrc
  5. 如果是 login shell,读取 /etc/zlogin, $ZDOTDIR/.zlogin
……

阅读全文