问题背景
在linux部署的过程中,往往需要安装软件,并且为了直接在控制台调用软件,需要配置环境变量,就可以在控制台直接输入软件的指令,系统就能找到对应的软件然后执行。linux是一个多用户的系统,配置环境变量有不同的层级,不同的方式,通过这篇文章,将这其中的关系梳理一下。
环境变量的查看、编辑、删除
- 查看所有环境变量
env # 查看所有环境变量
env | grep PATH # 查看环境变量中PATH关联的路径,注意大小写敏感
echo $环境变量名 # 直接查看某个环境变量
export $环境变量 #查看指定的环境变量的值。
- 删除某个环境变量,一般用不到,用到了直接去环境变量文件里去掉相关内容,然后source一下环境变量文件即可。
unset ENVNAME # 删除某个环境变量
- 在环境变量文件中编辑环境变量,增加环境变量,并添加到PATH中
export PATH=/home/xiaoming/Doc:$PATH # 将 /home/xiaoming/Doc 放到了名为 PATH 的环境变量的后面,前面也可以,用:隔开
- 在环境变量文件中设置全局环境变量
LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
环境变量文件
环境变量配置文件中主要是定义对系统操作环境生效的系统默认环境变量;如PATH等。。因为linux是一个多用户的操作系统,所以环境变量的生效范围有仅针对登录用户和全局的区别,具体的有以下几种:
① /etc/profile
② /etc/profile.d/*.sh
③ ~/.bash_profile
④ ~/.bashrc
⑤ /etc/bashrc
放在家目录(③、④)下的环境变量配置文件只会对当前用户起作用;放在在 /etc 目录下(1、2、5)的环境变量配置文件对所有用户都起作用。修改配置文件后,必须注销重新登录才能生效,使用source命令后,立即生效环境变量配置文件,命令如下:
source 配置文件 或者 . 配置文件
常见的环境变量修改套路:
1.追加写入
echo “export CAFFE_ROOT=/home/jhm/caffe” >> ~/.bashrc
2.vim打开配置文件写入。
系统正常启动过程的环境变量的启动,先向下走,再向右走。如下图:
在其他用户下切换用户的过程,先向下,然后再向右。如下图所示:
建议的配置
局部的配置建议配置在~/.bashrc 文件中。
全局的配置建议配置在/etc/bashrc 文件中,还是要考虑你的触发顺序的,看看想往前配置还是往后。