Mac 环境变量配置,加载顺序详解

环境变量介绍

环境变量和全局的变量有什么用呢?

使用场景1

我们现在写好了一个java程序需要去运行,那么运行的时候需要如下步骤

  1. 到Java的目录下
  2. 执行Java命令

但是,当我们需要同时使用多个工具的时候,比如又有java、maven、git等等,而且是多台机器的时候,我们通常需要很多繁琐的cd操作。而配置环境变量 就可以使我们可以快速的运行这些脚本了。

使用场景2

如果我们又有JDK1.7,又有JDK1.8,而且需要经常的切换,那么怎么办?可以配置局部变量比如:

export JDK1.7=/usr/apps/jdk1.7
export JDK1.8=/usr/apps/jdk1.8
export PATH=$JDK1.7/bin

这样,在改变的时候,就不需要去改变全部,而改变部分语句就可以了

环境变量的作用

ok,有了上面的介绍,我们大概就可以知道环境变量到底有什么用处了,用处就是可以在操作系统的各个目录下,都能访问到需要的工具目录内的内容,和Windows的桌面的思想十分相似,而且相当于在系统的各处都具有这个桌面的快捷方式。

MacOS加载bash shell环境变量的顺序

mac 一般使用bash作为默认shell,Mac系统的环境变量,加载顺序为:

/etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc

系统级别

  1. /etc/profile
  2. /etc/paths

用户级别

  1. ~/.bash_profile (mac用的)
  2. ~/.bash_login
  3. ~/.profile
  4. ~/.bashrc (这个linux用的)

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

Mac环境变量配置

查看当前有哪些环境变量

echo $PATH

设置环境变量

如果没特殊说明,设置PATH的语法都为:

#中间用冒号隔开
     export PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>

全局设置
下面的几个文件设置是全局的,修改时需要root权限

  1. /etc/profile (建议不修改这个文件 ) 全局(公有)配置,不管是哪个用户,登录时都会读取该文件。
  2. /etc/paths (全局建议修改这个文件 )
    编辑 paths,将环境变量添加到 paths文件中 ,一行一个路径
    Hint:输入环境变量时,不用一个一个地输入,只要拖动文件夹到 Terminal 里就可以了
  3. /etc/bashrc (一般在这个文件中添加系统级环境变量)
    全局(公有)配置,bash shell执行时,不管是何种方式,都会读取此文件。

单个用户设置

  1. ~/.bash_profile (任意一个文件中添加用户级环境变量)
    (注:Linux 里面是 .bashrc 而 Mac 是 .bash_profile)

如果想立刻生效,则可执行下面的语句:
$ source 相应的文件
一般环境变量更改后,重启命名终端后生效。

参考文献

  1. https://www.cnblogs.com/YatHo/p/6805801.html
  2. https://blog.csdn.net/u010416101/article/details/54618621
  3. https://blog.csdn.net/waneto2008/article/details/52486433
  4. https://www.jianshu.com/p/acb1f062a925

纠错

看到网上其他文章有些

这种方法我试了好像无效,有待考证

https://juejin.im/post/5e15ca045188253a6647cda0

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论