【发布时间】:2021-07-23 13:13:28
【问题描述】:
我默认使用 zsh。我也对环境变量感到不舒服,并试图了解它。
最近我为我的 PATH 变量添加了一个路径,但注意到我的 home(~/) 目录中不存在 .zshrc。我可以回显我的路径变量,并且路径已被添加:
如果 .zshrc 不存在,PATH 变量存储在哪里?
操作系统:大苏尔
【问题讨论】:
-
在 macOS Big Sur(和其他版本的 macOS)中,默认 系统文件 提供默认 @987654321 @ 是
/private/etc/paths。还有一些 applications/utilities 将写入的/private/etc/paths.ddirectory 将其 path 添加到path(@987654325 @)。在我的$HOME目录 中,我有一个.zprofile文件,我在其中添加了默认的path。 -
请注意,
/etc/paths和/etc/paths.d/没有被隐式使用。/etc/profile(可能)首先获取源,并评估/usr/libexec/path_helper的输出,后者从这些文件中读取以产生其输出。 -
@papekoja:环境变量不存储在文件中,它们存储在进程的环境中,顾名思义,它们继承给子进程。如果没有人在环境中设置变量,则该变量不存在。
PATH也不例外。 Zsh 在启动过程中提供了几个文件,这些文件可能包含也可能不包含设置环境的代码。另请注意,即使将这样的代码放入 .zshrc 中,也并不意味着每个 zsh 都将包含该定义,因为 .zshrc 仅来自 interactive zsh。
标签: path environment-variables zsh zshrc