Mac系统的环境变量,加载顺序为:
a. /etc/profile
b. /etc/paths
c. ~/.bash_profile
d. ~/.bash_login
e. ~/.profile
f. ~/.bashrc
其中a和b是系统级别的,系统启动就会加载,其余是用户接别的。c,d,e按照从前往后的顺序读取,如果c文件存在,则后面的几个文件就会被忽略不读了,以此类推。~/.bashrc没有上述规则,它是bash shell打开的时候载入的。这里建议在c中添加环境变量,以下也是以在c中添加环境变量来演示的。
系统级别:
/etc/profile:为系统的每个用户设置环境信息和启动程序,其配置对所有登录的用户都有效,一般不建议修改该文件。
/etc/paths :任何用户登陆时都会读取该文件,全局建议修改这个文件 。
以上是系统级别配置文件,系统启动就会加载,修改需要Root权限。
用户级别:
~/.bash_profile:为当前用户设置专属的环境信息和启动程序,当用户登录时该文件执行一次。默认情况下,它用于设置环境变量,并执行当前用户的 .bashrc 文件,类似于 /etc/profile,一般用户级环境变量会放到这个文件。
~/.bash_login
~/.profile
上面的文件也是依次执行的,如果bash_profile文件存在,则后面的几个文件就会被忽略不读了,如bash_profile文件不存在,才会以此类推读取后面的文件。
shell打开时加载:
/etc/bashrc:系统级配置,为每个运行 bash shell 的用户执行该文件,当 bash shell 打开时,该文件被执行,其配置对所有使用bash的用户打开的每个bash都有效。
~/.bashrc:用户级配置,作用同上。
bashrc没有上述规则,它是bash shell打开的时候载入的。
备注:bash_profile文件如没有,就需要新建一个
touch .bash_profile
vi .bash_profile
1.打开Terminal,输入vi ./.bash_profile,回车,打开./.bash_profile文件:
2.但是还处于查看模式,不能编辑。输入“i”,进入insert模式
3.添加环境变量,例如:
JAVA_HOME= /Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home
export JAVA_HOME
4.编辑完成,点击“esc键,退出insert模式”,然后输入:wq!命令保存退出
5.输入source .bash_profile使得环境起作用
6.输入echo $PATH,查看环境变量是否成功
参考链接
https://blog.csdn.net/haha223545/article/details/90239438
https://blog.csdn.net/handsomefuhs/article/details/79687381