科普:
Mac系统的环境变量,加载顺序为:
/etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc
/etc/profile
和 /etc/paths
是系统级别的,系统启动就会加载,后面几个是当前用户级的环境变量。后面3个按照从前往后的顺序读取,如果 /.bash_profile
文件存在,则后面的几个文件就会被忽略不读了,如果 /.bash_profile
文件不存在,才会以此类推读取后面的文件。~/.bashrc
没有上述规则,它是bash shell
打开的时候载入的。
PATH的语法为如下
#中间用冒号隔开
export PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>
-
/etc/paths
(全局建议修改这个文件 )编辑 paths,将环境变量添加到 paths文件中 ,一行一个路径
Hint:
输入环境变量时,不用一个一个地输入,只要拖动文件夹到 Terminal 里就可以了。 -
/etc/profile
(建议不修改这个文件 )全局(公有)配置,不管是哪个用户,登录时都会读取该文件。
-
/etc/bashrc
(一般在这个文件中添加系统级环境变量)全局(公有)配置,
bash shell
执行时,不管是何种方式,都会读取此文件 -
.profile
文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d
目录的配置文件中搜集shell的设置使用注意:如果你有对
/etc/profile
有修改的话必须得重启你的修改才会生效,此修改对每个用户都生效。 -
./bashrc
每一个运行bash shell
的用户执行此文件.当bash shell
被打开时,该文件被读取.使用注意 对所有的使用bash的用户修改某个配置并在以后打开的bash都生效的话可以修改这个文件,修改这个文件不用重启,重新打开一个bash即可生效。
-
./bash_profile
该文件包含专用于你的bash shell
的bash信息,当登录时以及每次打开新的shell时,该文件被读取.(每个用户都有一个.bashrc
文件,在用户目录下)使用注意 需要需要重启才会生效,
/etc/profile
对所有用户生效,~/.bash_profile
只对当前用户生效。
source ./.bash_profile
或者 ./.profile
环境信息生效
具体操作:
// 手动编辑环境变量
➜ ~ vim .bash_profile
// 或者 直接将环境变量写入文件中
echo "export GOPROXY=https://goproxy.cn,direct" >> .bash_profile
问题:
每次都要source ~/.bash_profile
环境变量才能生效?
// 在 .zshrc 中加入:
if [ -f ~/.bash_profile ]; then
source ~/.bash_profile
fi
// 最后执行:
source ~/.zshrc