Linux中环境变量包括系统级和用户级,系统级的环境变量是每一个登陆到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。python
1. 系统级linux
(a) /etc/environment: 是系统在登陆时读取的第一个文件,用于为全部进程设置环境变量。系统使用此文件时并非执行此文件中的命令,而是根据KEY=VALUE模式的代码,对KEY赋值以VALUE,所以文件中若是要定义PATH环境变量,只需加入一行形如PATH=$PATH:/xxx/bin的代码便可。shell
(b)/etc/profile:是系统登陆时执行的第二个文件,能够用于设定针对全系统全部用户的环境变量。该文件通常是调用/etc/bash.bashrc文件。ruby
/etc/bash.bashrc:系统级的bashrc文件,为每个运行bash shell的用户执行此文件。此文件会在用户每次打开shell时执行一次。bash
注意: /etc/environment是设置整个系统的环境,而/etc/profile是设置全部用户的环境,前者与登陆用户无关,后者与登陆用户有关。 这两个文件修改后通常都要重启系统才能生效。ui
2. 用户级(这些文件处于家目录下)spa
(a)~/.profile: 是对应当前登陆用户的profile文件,用于定制当前用户的我的工做环境。
每一个用户均可使用该文件输入专用于本身使用的shell信息,当用户登陆时,该文件仅仅执行一次!默认状况下,他设置一些环境变量,执行用户的.bashrc文件。这里是推荐放置我的设置的地方 code
(b)~/.bashrc: 是对应当前登陆用户的bash初始化文件,当用户每次打开shell时,系统都会执行此文件一次。平时设置这个文件就能够了。regexp
那么根据以上描述,这几个文件的执行前后顺序应当是:
/etc/enviroment –>/etc/profile –>~/.profile –>/etc/bash.bashrc–> ~/.bashrc进程
配置环境变量
1. 在linux下设定环境变量时,若是只是临时用一下,能够直接在shell下用set或export命令设定环境变量。只能在当前shell脚本下可用.,切换到另外一个终端就会失效。
#终端输入: export PYTHONPATH=/home/username/python #PYTHONPATH设置为该路径
#终端查看一个特定环境变量包含的内容,好比PYTHONPATH echo $PYTHONPATH
2. 若是但愿此环境变量每次开机或打开shell时自动设定而无须每次都手动设定,那么须要将export命令写入以上的系统文件中。
(a) 打开.bashrc文件,
在其末尾添加:
export PYTHONPATH=/home/username/python:$PYTHONPATH # path采用:来分隔,冒号左右不须要空格. # :$PYTHONPATH在后面新添加的path优先搜索,$PYTHONPATH:在前面说明新添加的path后面搜索,不加表明新路径设置为PYTHONPATH路径。
其中/home/username/python为本身须要设置的环境变量路径。
在终端执行:source ~/.bashrc
,使其当即生效,或者重启电脑便可。
(b) 在终端打开环境变量的文件/etc/profile
而后将本身的环境变量加入到文件以后,用export 执行。
在终端里面使用source /etc/profile
来更新环境变量
(c) 采用export添加新的路径到环境变量PATH中。
#好比添加搜索路径/home/cc/path1和/home/cc/path2 路径到PATH中,采用:来分隔,冒号左右不须要空格 export PATH=$PATH:/home/cc/path1:/home/cc/path2
#若须要将路径放在优先搜索位置,将$PATH放在后面 export PATH=/home/cc/path1:/home/cc/pck:$PATH