【发布时间】:2012-04-07 15:12:15
【问题描述】:
我一直在寻找整个系统,但我找不到它。当我执行 echo $PATH 时,我会得到我添加的内容,以及默认路径。我没有 .profile,也有 .bashrc,但默认路径不在其中。我正在寻找它只是为了知道它的位置,因为所有教程都解释它在 .profile 中......但是如果你没有呢?那么它在哪里呢?有人有什么想法吗?
【问题讨论】:
我一直在寻找整个系统,但我找不到它。当我执行 echo $PATH 时,我会得到我添加的内容,以及默认路径。我没有 .profile,也有 .bashrc,但默认路径不在其中。我正在寻找它只是为了知道它的位置,因为所有教程都解释它在 .profile 中......但是如果你没有呢?那么它在哪里呢?有人有什么想法吗?
【问题讨论】:
如果您使用sudo man path_helper,它会谈到它如何将路径组合在一起。您可以查看/etc/paths 和/etc/paths.d。我做到了,并找到了我要找的东西。
【讨论】:
man path_helper 给了我No manual entry for path_helper,但编辑/etc/paths 有效。
sudo man path_helper。我会修改条目。感谢您的来信!
$PATH 配置不同,请参阅 problem post。
包括PATH 在内的许多系统范围的设置都设置在/etc/profile 中,bash 在启动时会读入。在 Mac OS X 上,这个文件通常使用path_helper 来设置PATH。该实用程序依次从/etc 下的其他系统配置文件中读取信息(请参阅path_helper manpage)。
请注意,即使您禁用 bash 读取初始化文件(例如,使用 --noprofile 等命令行选项),它仍然会继承父进程的环境。
【讨论】:
如果你从 /etc/profile 开始,它应该看起来像这样:
if [ -x /usr/libexec/path_helper ]; then
eval `/usr/libexec/path_helper -s`
fi
它正在测试文件是否存在,如果存在,则执行它。如果你手动执行它,你会得到这样的东西:
PATH="/usr/bin:/bin:/usr/sbin:/usr/local/bin:/usr/X11/bin"; export PATH;
我相信这就是您正在寻找的。所以它来自/etc/profile,它又调用了一个设置路径的可执行文件。
【讨论】:
/etc/profile 和/etc/csh.login 取决于您的shell 是sh/bash 还是csh/tcsh)。不过,请查看脚本中的代码以获得其余答案:它查看 /etc/paths 和 /etc/paths.d/*(所有这些都应该是文件,每个路径条目包含一行)。
Mac 上的 .profile 文件位于您的用户文件夹中:~/Users/youruser/ 但是,.profile 文件是隐藏的。您可以按 Command+shift+。 (command, shift, dot) 在 Finder 上查看它们。
【讨论】:
zsh 将成为默认 shell - 替换 bash。您可能(也可能没有)拥有用于相同目的的文件 ~/.zprofile 和 ~/.zshrc。