如果 .zshrc 不存在,PATH 变量存储在哪里?

问题描述

认使用 zsh。我也对环境变量感到不舒服,并试图了解它。

最近我为我的 PATH 变量添加一个路径,但注意到 .zshrc 在我的 home(~/) 目录中不存在。我可以回显我的路径变量,并且路径已添加如下:

如果 .zshrc 不存在,PATH 变量存储在哪里?

操作系统:大苏尔

解决方法

shell 通常会从其父进程继承 PATH。如果没有 PATH env var 存在,许多 shell 将调用 sysctl(USER_CS_PATH,...) 来询问操作系统告诉默认使用的搜索路径。还有其他初始化文件,像 zsh 这样的 shell 会读取。从 man zsh 的输出:

FILES
   $ZDOTDIR/.zshenv
   $ZDOTDIR/.zprofile
   $ZDOTDIR/.zshrc
   $ZDOTDIR/.zlogin
   $ZDOTDIR/.zlogout
   ${TMPPREFIX}*   (default is /tmp/zsh*)
   /etc/zshenv
   /etc/zprofile
   /etc/zshrc
   /etc/zlogin
   /etc/zlogout    (installation-specific - /etc is the default)