MacOS环境变量加载顺序
/etc/profile
/etc/paths
~/.bash_profile
~/.bash_login
~/.profile
~/.bashrc
当然/etc/profile
和/etc/paths
是系统级别的,系统启动就会加载,后面几个是当前用户级的环境变量。
后面3个按照从前往后的顺序读取,如果~/.bash_profile
文件存在,则后面的几个文件就会被忽略不读了,如果~/.bash_profile
文件不存在,才会以此类推读取后面的文件。~/.bashrc
没有上述规则,它是bash shell
打开的时候载入的。
环境变量设置语法
- 设置环境变量基本语法
export [变量名]=[变量值]
- PATH设置语法
# 中间采用英文冒号分割 export PATH=$PATH:<PATH 1>:<PATH 2>:------:<PATH N>
## 全局变量
下面的几个文件设置是全局的,修改时需要root权限
/etc/paths
- 全局建议修改这个文件
- 编辑 paths,将环境变量添加到 paths文件中,一行一个路径
- Hint:输入环境变量时,不用一个一个地输入,只要拖动文件夹到 Terminal 里就可以了
/etc/profile
- 建议不修改这个文件
- 全局(公有)配置,不管是哪个用户,登录时都会读取该文件。
/etc/bashrc
- 一般在这个文件中添加系统级环境变量
- 全局(公有)配置,bash shell执行时,不管是何种方式,都会读取此文件。
- 自定义
- 创建一个文件:
shell sudo touch /etc/paths.d/mysql
- 用 vim 打开这个文件(如果是以 open -t 的方式打开,则不允许编辑):
shell sudo vim /etc/paths.d/mysql
- 编辑该文件
键入路径并保存(关闭该 Terminal 窗口并重新打开一个,就能使用 mysql 命令了)
shell /usr/local/mysql/bin
据说,这样可以自己生成新的文件,不用把变量全都放到 paths 一个文件里,方便管理。
- 创建一个文件:
单个用户设置
~/.bash_profile
- 注意:Linux 里面是
.bashrc
而 Mac 是.bash_profile
- 若bash shell是以login方式执行时,才会读取此文件。该文件仅仅执行一次!默认情况下,他设置一些环境变量
- 设置命令别名
alias ll=’ls -la’
- 设置环境变量:
- 注意:Linux 里面是
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
~/.bashrc
同上
一般环境变量更改后,重启后生效;如果想立刻生效,则可执行下面的语句:
$ source <文件名>