前景,换了台新Mac,配置各种环境,发现执行完source ~/.bash_profile后,当前会话是可以生效的。
重新开启新的session无法生效,重新启动电脑后依然无法生效。
先简单介绍下Mac环境变量的加载相关的知识。
Mac 一般以bash作为默认的shell。
Mac加载环境变量的顺序如下:
1、/etc/profile 系统级别
2、/etc/paths 系统级别
3、~/.bash_profile
4、~/.bash_login
5、~/.profile
6、~/.bashrc
1和2文件在系统启动时就会加载。
3、4、5是当前用户级的环境变量。如果~/.bash_profile文件存在,则4和5文件就会被忽略不再读取,如果~/.bash_profile文件不存在,才会依次读取4和5文件。
~/.bashrc没有上述规则,它是bash shell打开的时候载入的。
如果没特殊说明,设置PATH的语法都为:
——————————————————-
1 2 |
|
现在来我的解决问题:
由于新Mac安装了zsh,~/.bash_profile就不会被执行,所以无论是新开session还是重启都不会永久生效。
解决方法如下两种:
1.打开vim ~/.zshrc 将需要配置的环境变量配置到该文件中即可。
2.打开vim ~/.zshrc 添加source ~/.bash_profile到该文件中 ,之后在~/.bash_profile文件中配置的环境变量同样生效。