在 mac OS 上的 zsh 中,$PATH 的来源在哪里?我在 .zshrc 中找不到它

OkB*_*at9 11 zsh path oh-my-zsh macos macos-mojave

当我运行时echo $PATH,我的输出是:

/usr/bin:/bin:/usr/sbin:/sbin
Run Code Online (Sandbox Code Playgroud)

但是在我的.zshrc,$PATH被注释掉了:

# If you come from bash you might have to change your $PATH.  
# export PATH=$HOME/bin:/usr/local/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

那么,我的PATH变量在哪里定义?我正在使用oh-my-zsh,不确定它是否与zsh.

har*_*ymc 11

有很多可能性,但有些可能比其他可能性更大。启动 Zsh 时,它默认会按此顺序获取以下文件:

  • /etc/zsh/zshenv用于设置系统范围的环境变量。该文件将始终是源文件,不能被覆盖。
  • $ZDOTDIR/.zshenv用于设置用户的环境变量。该文件将始终是来源。
  • /etc/zsh/zprofile 用于在启动时执行命令,将在作为登录 shell 启动时获取。
  • /etc/profile该文件应在登录时由所有与 Bourne 兼容的 shell 获取:它在登录时设置 $PATH 和其他环境变量以及特定/etc/profile.d/*.sh于应用程序的 ( ) 设置。
  • $ZDOTDIR/.zprofile 用于在启动时执行用户的命令,将在作为登录 shell 启动时提供。
    • $HOME/.profile 不是由 zsh 提供的。
  • /etc/zsh/zshrc 用于设置交互式 shell 配置和执行命令,将在作为交互式 shell 启动时获取。
  • $ZDOTDIR/.zshrc 用于设置用户的交互式 shell 配置和执行命令,将在作为交互式 shell 启动时获取。
  • /etc/zsh/zlogin 用于在初始进度结束时执行命令,将在作为登录 shell 启动时获取。
  • $ZDOTDIR/.zlogin 用于在初始进度结束时执行用户的命令,将在作为登录 shell 启动时获取。

来源:wiki.archlinux.org


小智 8

看起来 的原始值似乎PATH来自/etc/paths