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中添加环境变量。
Linux
a./etc/profile
b.$HOME/.bash_profile
c.$HOME/.bash_login
d.$HOME/.profile
e.$HOME/.bashrc
其中a是系统级别的,系统启动就会自动加载,其余是用户级别的。剩下的四个文件中,Linux发行版一般都只用到其中的一到两个。shell会按照顺序b、c、d,运行第一个被找到的文件,剩下的忽略。文件c一般都是在其他文件中被读取。