我记得在安装完OS X后,在终端中执行echo $PATH命令时,它会返回一个空行。现在随着时间的推移,安装了一些工具后,$PATH变量的值为/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin,尽管我的.bash_profile是空的。我想知道这个值是在哪里设置的?
从macOS Catalina开始,Mac将默认使用zsh(Z shell)作为shell。这种类型的shell使用.zprofile
而不是.bash_profile
。要检查您是在bash还是zsh上,请运行echo $SHELL
。如果结果是bin/zsh
,那么您就在zsh上。在这种情况下,编辑您的~/.zprofile
以设置环境变量。
合理的候选文件可能是 /etc/profile
和 /etc/bashrc
;还有 /etc/paths
和 /etc/paths.d
。您可能还需要查看 $HOME/.profile
和 $HOME/.bashrc
。Bash 还可能会查看其他一些地方。
/.profile和/.bashrc不存在,只有~/.bash_profile。 - shaveenk~/.profile
和~/.bashrc
文件;这是我的特权,也可以是你的。/etc/paths.d
是一个目录,其中包含一个名为40-XQuartz
的文件,其中列出了/opt/X11/bin
;/etc/paths
是一个文件,其中包含其他值,每行一个。 - Jonathan Leffler/.bash_profile是存在的,并且默认情况下配置为查找和执行您可能创建的/.bashrc。test -f ~/.bashrc && source ~/.bashrc
- JESii/etc/paths.d
文件夹应该包含特定应用程序相关的文本文件,其内容在其中具有相关路径。当生成$PATH
变量时,这些特定的应用程序路径文件会添加到/etc/paths
中所包含的内容中。Jonathan的系统在/etc/paths.d
文件夹中有一个40-XQuartz
路径文件,并且在生成$PATH
时,按数字字母顺序读取此文件夹中的文件,因此名为30-SpecificApplicationName
的文件将出现在40-XQuartz
路径文件之前,其中包含一系列路径。 - Mike Kormendy