MacOS系统的环境变量
一、Mac 系统的环境变量
- 加载顺序为:
a./etc/profile
(建议不修改这个文件 ) 全局(公有)配置,不管是哪个用户登录时都会读取该文件
b./etc/paths
(一般在这个文件中添加系统级环境变量) 全局(公有)配置,bash
shell
执行时不管是何种方式都会读取此文件
c.~/.bash_profile
(一般在这个文件中添加用户级环境变量) 每个用户都可使用该文件输入专用于自己使用的shell
信息, 当用户登录时该文件仅仅执行一次!
d.~/.bash_login
e.~/.profile
f.~/.bashrc
其中 a 和 b 是系统级别的系统启动就会加载;其余是用户接别的。c,d,e 按照从前往后的顺序读取,如果 c 文件存在,则后面的几个文件就会被忽略不读了,以此类推。 ~/.bashrc
没有上述规则,它是bash shell
打开的时候载入的。
全局设置,一般不建议修改/etc/profile
和/etc/bashrc
文件,而去修改/etc/paths
文件。如果想要对所有用户都生效则可在/etc/paths
文件的最后一行加上自己的 app 路径。优先级也是最高的。
单个用户生效的配置,一般都是修改~/.bash_profile
文件,若bash shell
是以 login 方式执行时,才会读取此文件。该文件仅仅执行一次!
- 环境变量
PATH
的语法
如果没特殊说明, 设置PATH
的语法都为:
export PATH=<PATH 1>:<PATH 2>:<PATH 3>:.....:<PATH N>:$PATH
- 推荐设置用户个人自己的环境变量,尽量不破坏 Mac 系统全局变量
- 查看环境变量
PATH
echo $PATH
操作系统判断
- 确定使用的
Mac OS X
是什么样的Shell
输入命令
echo $SHELL
如果输出的是:csh
或者是tcsh
,那么你用的就是C Shell
如果输出的是:bash
,sh
,zsh
,那么你的用的可能就是Bourne Shell
的一个变种。
Mac OS X 10.2
之前默认的是C Shell
Mac OS X 10.3
之后默认的是Bourne Shell
- 如果是
Bourne Shell
那么你可以把你要添加的环境变量添加到你主目录下面的.profile
或者.bash_profile
,如果存在没有关系添加进去即可,如果没有生成一个
需要注意的是,如果你在 Mac 上使用的是zsh
等 shell 工具,需要再做如下配置,来达到环境变量设置的永久生效。
第一种方法
- 打开
zsh
配置文件
vim ~/.zshrc
- 添加以下内容
if [ -f ~/.bash_profile ]; then
source ~/.bash_profile
fi
- 使
zsh
配置文件生效
source ~/.zshrc
第二种方法
- 在
~/.zshrc
文件最后增加一行
source ~/.bash_profile
原因解释如下:
bash
的配置文件是.bashrc
, zsh
的配置文件是.zshrc
,当你使用zsh
作为默认shell
工具的时候,它启动时并不会加载bash
的这两个配置文件.bashrc
和.bash_profile
,而只会加载自己的配置文件.zshrc
,为了让我们的配置文件生效,只能在.zshrc
中添加上面的配置。
如果不做上述设置,你就会发现,只有当你每次source ~/.bash_profile
后才会生效,下次重新打开zsh
窗口,还是不生效。
示例:
# vim ~/.bash_profile
JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home
JAVA_11_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home
JAVA_HOME=$JAVA_8_HOME
mavenhome=/Applications/Maven/apache-maven-3.9.4
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
PATH=$JAVA_HOME/bin:$mavenhome/bin:$PATH:.
export JAVA_HOME
export CLASSPATH
export PATH
alias jdk8='export JAVA_HOME=$JAVA_8_HOME'
alias jdk11='export JAVA_HOME=$JAVA_11_HOME'
# source ~/.bash_profile
本文作者:Journey&Flower
本文链接:https://www.cnblogs.com/JourneyOfFlower/p/17765502.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步