【问题标题】:Default PATH variable set with .bash_profile empty默认 PATH 变量设置为 .bash_profile 为空
【发布时间】:2013-07-27 11:03:02
【问题描述】:

我记得在全新安装 os x 后,当我在终端中执行 echo $PATH 时,它以空行响应。现在,随着时间的推移安装一些工具后,$PATH 变量具有 /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin 值,尽管我的 .bash_profile 是空白的。我想知道这个值是在哪里设置的?

【问题讨论】:

    标签: path terminal osx-lion


    【解决方案1】:

    可能的候选人是/etc/profile/etc/bashrc;还有/etc/paths/etc/paths.d 可以查看。您可能还需要查看$HOME/.profile$HOME/.bashrcbash 可能还有一些其他地方看起来也一样。

    【讨论】:

    • /etc/paths.d 是一个只读文件,它具有除“/opt/X11/bin”之外的上述变量。 ~/.profile 和 ~/.bashrc 在 osx 上不存在。只有 ~/.bash_profile。
    • 我为自己创建了~/.profile~/.bashrc;这是我的特权,也可能是你的。 /etc/paths.d 是一个包含文件40-XQuartz 的目录,其中列出了/opt/X11/bin/etc/paths 是一个文件,其中包含其他值,每行一个。
    • 在我的 Mac 上,~/.bash_profile 确实存在,并且它被配置(默认情况下,我相信)查找并执行您可能创建的 ~/.bashrc。 test -f ~/.bashrc && source ~/.bashrc
    • 除了 Jonathan Leffler 的回答之外,/etc/paths.d 文件夹还应包含特定的应用程序相关文本文件,其内容中包含相关路径。当生成$PATH 变量时,这些特定的应用程序路径文件将添加到/etc/paths 中包含的内容中。乔纳森的系统在/etc/paths.d 文件夹中有一个40-XQuartz 路径文件,并且这个文件夹中的文件以数字字母顺序读取,所以一个名为30-SpecificApplicationName 的文件里面有一个路径列表会出现在@987654341 之前生成$PATH时的@path-file。
    【解决方案2】:

    从 macOS Catalina 开始,Mac 默认 shell 为 zsh(Z shell)。这种类型的 shell 使用.zprofile 而不是.bash_profile。要检查您使用的是 bash 还是 zsh,请运行 echo $SHELL。如果结果是bin/zsh,那么你在 zsh 上。在这种情况下,为环境变量编辑您的 ~/.zprofile

    【讨论】:

      猜你喜欢
      • 2013-04-23
      • 2018-12-07
      • 2013-03-23
      • 2014-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-18
      • 1970-01-01
      相关资源
      最近更新 更多