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

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

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

/usr/bin:/bin:/usr/sbin:/sbin

但在我的 中.zshrc$PATH注释掉了:

# If you come from bash you might have to change your $PATH.  
# export PATH=$HOME/bin:/usr/local/bin:$PATH

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

答案1

有很多可能性,但有些比其他的可能性更大。启动 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

答案2

看起来好像的原始值PATH来自/etc/paths

相关内容