MAC环境变量PATH的设置方式与优先级

经常性的,开发中需要安装app包,并将对应app的运行目录添加到环境变量PATH中。但MAC下的path环境变量的设置方式到底有几种呢?各自发挥作用的优先级顺序又是如何呢?每次都是百度、google来找这个问题的答案,很费事。在此,统一总结下path环境变量的设置及各自作用的优先级。 

首先,说明下MAC系统的环境变量主要由下面几个文件和文件夹所决定,并且他们的加载顺序如下:

1)/etc/profile/  ---> 2) /etc/paths ---> 3) /etc/bashrc ---> 4) ~/.bash_profile 或  ~/.bashrc ---> 5) ~/.bash_login  ---> 6) ~/.bash_profile 

其中,/etc/profile, /etc/paths,  /etc/bashrc 是系统级别配置文件,系统启动就会加载,后面几个是当前用户级的环境变量。后面3个按照从前往后的顺序读取,如果~/.bash_profile文件存在,则后面的几个文件就会被忽略不读了,如果~/.bash_profile文件不存在,才会以此类推读取后面的文件。~/.bashrc没有上述规则,它是bash shell打开的时候载入的。对此,修改前2个,需要ROOT权限。而且修改是全局的。一般不建议修改/etc/profile和/etc/bashrc 文件,而去修改/etc/paths文件,其内容如下:

下面说下怎么添加自己app到path环境变量中。

1)全局设置:

一般不建议修改/etc/profile和/etc/bashrc 文件,而去修改/etc/paths文件。如果想要对所有用户都生效,则可在/etc/paths文件的最后一行加上自己的app路径。优先级也是最高的。此外,我们还可以通过在/etc/paths.d 目录下添加对应的app名称文件来增加对应的路径,假设要添加mysql运行路径到path下,可这么做:

1.创建一个文件:

sudo touch /etc/paths.d/mysql (名称就是要执行的app名称)

2.用 vim 打开这个文件(如果是以 open -t 的方式打开,则不允许编辑):

sudo vim /etc/paths.d/mysql

3.编辑该文件,键入mysql的实际安装后的运行路径并保存(关闭该 Terminal 窗口并重新打开一个,就能使用 mysql 命令了)

/usr/local/mysql/bin (这里必须写上对应的运行目录,否则就找不到)

这样就可以自己生成新的文件,而不用把变量全都放到 paths 一个文件里,方便管理。

2)单个用户生效的配置

一般都是修改~/.bash_profile文件(注:Linux 里面是 .bashrc 而 Mac 是 .bash_profile)

若bash shell是以login方式执行时,才会读取此文件。该文件仅仅执行一次!

设置环境变量:

export PATH=/usr/local/mysql/bin : $PATH

注意:上面是以冒号:间隔,千万别写错了。

网上大多数都是这种方式来修改,在此就不详述了。

你可能感兴趣的:(MAC环境变量PATH的设置方式与优先级)