Unix加载环境变量来自3种配置文件.

  1. 首先加载 /etc/profile 系统全局变量.
  2. 接着是其他系统配置文件 如 /etc/bashrc
  3. 最后是用户自定义配置文件  ~/.bash_profile
     

前2个是系统级的,针对所有用户,非root用户只有可读权限,修改时需要 sudo 获取root权限.

而最后一个是针对当前用户的配置文件,建议修改此文件,如果当前用户目录下没有此文件 ,nano ~/.bash_profile 创建一个.

 

如何给系统设置全局变量?

加入你安装了mongoDB ,想在mac中添加mongod  (服务端) mongo (客户端) 的全局环境变量.

(1)首先找到你的mongoDB安装目录的bin 目录,我的安装目录在这里 

/usr/local/Cellar/mongodb/2.4.9/bin

(2)编辑 .bash_profile 文件

zhangzhi@moke:~$ nano ~/.bash_profile

macos ruby设置全局 mac全局模式_配置文件

我的配置文件里之前已经定义了全局环境变量 PATH

上图的红框处是冒号 :  为啥要圈起来,是想告诉大家这里多个环境变量设置需要用 冒号 : 分隔开,那我现在把 mongodb 的bin目录添加到PATH中.

macos ruby设置全局 mac全局模式_bash_02

我把mongodb的bin目录添加到了git bin目录之后,中间用 冒号 : 分隔

结尾处的${PATH} 是系统的环境变量,~/.bash_profile 文件配置错了,可能导致好多的系统shell 都不能使用,比如常用的 ls 都不支持. 你想编辑 ~/.bash_profile 文件也是不可能的事,如果真的这样,该怎么办?

在命令行中执行下面的shell ,保证系统shell 命令可用,然后去编辑 ~/.bash_profile 文件

export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin

那么系统的$PATH 里到底包含哪些环境变量呢?

macos ruby设置全局 mac全局模式_环境变量_03

${PATH} 的内容也可以直接查看此文件  /etc/paths

${PATH} 变量就是包括这些环境变量,没有了这个, /usr/bin  ..... /usr/local/bin 下的软件二进制启动文件都失去了全局环境变量,比如 终端下可能会不能直接使用 node ,python 等等

 

保存 ~/.bash_profile 文件后并不是及时生效,重启电脑是一种办法,但是还有更省事的,运行source 命令

zhangzhi@moke:/usr$ source ~/.bash_profile

这样你设置的个人配置文件就生效了,去终端直接用 mongod 启动mongodb服务器,用mongo 启动mongodb客户端即可.