Unix加载环境变量来自3种配置文件.
- 首先加载 /etc/profile 系统全局变量.
- 接着是其他系统配置文件 如 /etc/bashrc
- 最后是用户自定义配置文件 ~/.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
我的配置文件里之前已经定义了全局环境变量 PATH
上图的红框处是冒号 : 为啥要圈起来,是想告诉大家这里多个环境变量设置需要用 冒号 : 分隔开,那我现在把 mongodb 的bin目录添加到PATH中.
我把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 里到底包含哪些环境变量呢?
${PATH} 的内容也可以直接查看此文件 /etc/paths
${PATH} 变量就是包括这些环境变量,没有了这个, /usr/bin ..... /usr/local/bin 下的软件二进制启动文件都失去了全局环境变量,比如 终端下可能会不能直接使用 node ,python 等等
保存 ~/.bash_profile 文件后并不是及时生效,重启电脑是一种办法,但是还有更省事的,运行source 命令
zhangzhi@moke:/usr$ source ~/.bash_profile
这样你设置的个人配置文件就生效了,去终端直接用 mongod 启动mongodb服务器,用mongo 启动mongodb客户端即可.