问题描述
我默认使用 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)