Path 默认路径变量设置为.bash\u profile为空

Path 默认路径变量设置为.bash\u profile为空,path,terminal,osx-lion,Path,Terminal,Osx Lion,我记得在新安装了os x之后,当我在终端中执行echo$PATH时,它以一个空行响应。现在,随着时间的推移安装了一些工具之后,$PATH变量具有/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin值,尽管my.bash_概要文件为空。我想知道这个值是在哪里设置的?可能的候选者是/etc/profile和/etc/bashrc;还有要查看的/etc/path和/etc/path.d。您可能还需要查看$HOME/.profile和$HOM

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

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

在macOS Catalina中,Mac将shell默认为zsh(Z shell)。这种类型的shell使用
.zprofile
而不是
.bash\u profile
。要检查您是否在bash或zsh上,请运行
echo$SHELL
。如果结果为
bin/zsh
,则您在zsh上。在这种情况下,编辑env变量的
~./zprofile

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