linux环境变量

Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。

1. 系统级

(a) /etc/environment: 是系统在登录时读取的第一个文件,用于为所有进程设置环境变量。系统使用此文件时并不是执行此文件中的命令,而是根据KEY=VALUE模式的代码,对KEY赋值以VALUE,因此文件中如果要定义PATH环境变量,只需加入一行形如PATH=$PATH:/xxx/bin的代码即可。

(b)/etc/profile:是系统登录时执行的第二个文件,可以用于设定针对全系统所有用户的环境变量。该文件一般是调用/etc/bash.bashrc文件。

/etc/bash.bashrc:系统级的bashrc文件,为每一个运行bash shell的用户执行此文件。此文件会在用户每次打开shell时执行一次。

注意: /etc/environment是设置整个系统的环境,而/etc/profile是设置所有用户的环境,前者与登录用户无关,后者与登录用户有关。 这两个文件修改后一般都要重启系统才能生效。

 

2. 用户级(这些文件处于家目录下)

(a)~/.profile: 是对应当前登录用户的profile文件,用于定制当前用户的个人工作环境。 
每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。这里是推荐放置个人设置的地方 

(b)~/.bashrc: 是对应当前登录用户的bash初始化文件,当用户每次打开shell时,系统都会执行此文件一次。平时设置这个文件就可以了。

那么根据以上描述,这几个文件的执行先后顺序应当是: 
/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

posted on 2018-11-28 15:17  _Joshua  阅读(316)  评论(0编辑  收藏  举报

导航