一.首先需要了解
1>mac 一般使用bash作为默认shell
2>Mac系统的环境变量,加载顺序为:
1、系统级别的
/etc/profile
/etc/bashrc
/etc/paths
2、用户级别的
~/.bash_profile (mac用的)
~/.bash_login
~/.profile
~/.bashrc (这个linux用的)
加载规则:
<1>/etc/profile,/etc/bashrc和/etc/paths是系统级别的,系统启动就会加载
<2>~/.bash_profile ,~/.bash_login ,~/.profile 是当前用户级的环境变量。按照从前往后的顺序读取
如果~/.bash_profile文件存在,则后面的两个文件就会被忽略不读了,
如果~/.bash_profile文件不存在,才会依次读取后面的两个文件
<3>~/.bashrc没有上述规则,它是bash shell打开的时候载入的。
3>sudo vim ~/.bash_profile,如果没特殊说明,设置PATH的语法都为:
#中间用冒号隔开
export PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>
一般环境变量更改后,重启后生效。如果想立刻生效,则可执行下面的语句:$ source 相应的文件
实例分析
mac自带git和php,我自己用brew安装了git和php70
但是在没有配置环境变量的情况下 git版本是mac的, php版本是brew的
具体分析如下
首先明确,根据由先到后的原则,先找到就不继续了
1>cat /etc/paths里面的情况
2>我进入到 /usr/local/bin 文件夹下分别输入命令ls php* 和ls git*,然后查看版本
3>我们进入/usr/bin文件夹下分别输入命令ls php* 和ls git*,然后查看版本
4>我们继续来查找下brew安装的git命令在哪里 which git
总结:先在/usr/local/bin中寻找,再在/usr/bin中寻找,由此可知,为什么我的php是用brew安装的 而git是原生的
如果我们想要正确的选择版本,那么就在~/.bash_profile中加入以下的话,版本就对了(注意$PATH放在后面,会将你写的路径放在最终路径的最前面)
export PATH=/usr/local/Cellar/git/2.10.2/bin:$PATH
export PATH="$(brew --prefix homebrew/php/php70)/bin:$PATH"
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
输入$PATH