【发布时间】:2011-07-02 07:44:04
【问题描述】:
如何为用户会话(不仅仅是终端)中的所有程序设置 PATH 的问题已经出现并得到解决。所以我更改了 /etc/launchd.conf 和 /etc/paths,只是为了确保一切正常。但是,当我启动终端时,我得到的 PATH envar 仍然与我预期的不同(我完全不确定如何从另一个应用程序测试 PATH。)
这是 /etc/launchd.conf 中的内容:
setenv PATH /sw/bin:/sw/sbin:/sw/local/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11/bin:/opt/local/bin:/opt/local/sbin
这是 /etc/paths 中的内容:
.
$HOME/bin
/sw/bin
/sw/sbin
/sw/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
加上 /etc/paths.d/ 中的几个文件:
X11:
/usr/X11/bin
选择:
/opt/local/bin
/opt/local/sbin
现在,当我启动一个新终端时,我得到的是:
miishka:~ tamara$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:.:/Users/tamara/bin:/sw/bin:/sw/sbin:/sw/local/bin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/opt/local/sbin
miishka:~ tamara$
我检查了我的 .bashrc 和 .bash_profile,我没有 .profile,我检查了 /etc/profile 和 /etc/bashrc,但没有一个接触到 PATH 环境变量。
我太难了。
【问题讨论】:
-
只是一个后续,鉴于 /etc/launchd.conf 和 /etc/paths 中的路径规范之间的差异,它看起来更像是 PATH 是由终端的 /etc/paths 构建的.但我仍然不清楚为什么它们没有按照我指定的顺序创建。