设置环境变量PATH 和 查看PATH

理论篇

Mac系统的环境变量,加载顺序为:
/etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc

  • /etc/profile和/etc/paths是系统级别的,系统启动就会加载,后面几个是当前用户级的环境变量。
  • 后面3个按照从前往后的顺序读取,如果/.bash_profile文件存在,则后面的几个文件就会被忽略不读了,如果/.bash_profile文件不存在,才会以此类推读取后面的文件。
  • ~/.bashrc没有上述规则,它是bash shell打开的时候载入的。

PATH的语法如下:

1
2
#中间用冒号隔开
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 环境信息生效

操作篇

全局设置
  1. 创建一个文件

    1
    sudo touch /etc/paths.d/mysql
  2. 用 vim 打开这个文件(如果是以 open -t 的方式打开,则不允许编辑)

    1
    sudo vim /etc/paths.d/mysql
  3. 编辑该文件,键入路径并保存(关闭该 Terminal 窗口并重新打开一个,就能使用 mysql 命令了)

    1
    /Applications/MAMP/Library/bin
  4. source 相应的文件 生效配置环境

该mac的mysql环境变量配置方法如下:
创建软连接至/usr/local/bin环境变量目录
sudo ln -s /Applications/MAMP/Library/bin/mysql /usr/local/bin/mysql

注:

Mac的这个bin目录,是一个已经包含在环境变量里的目录,程序放在里面或者链接到里面就可以在终端里直接执行。

Mac的usr/bin目录是不允许增删文件的,可以通过向usr/local/bin增删文件来实现在终端里直接运行,往后者里面增删文件只要有管理员权限就可以了。

单个环境变量设置
  1. vim ~/.bash_profile (任意一个文件中添加用户级环境变量)

    1
    2
    # 第一个是PHP地址;第二个是nginx地址
    export PATH="/Applications/MAMP/bin/php/php7.3.1/bin:/Applications/MAMP/Library/sbin:$PATH"
  2. source ~/.bash_profile 生效

查看PATH
1
echo $PATH