前言:
1. 环境变量是操作系统环境设置的变量,适用于整个系统的用户进程;
2. 环境变量可以在命令中设置,但是用户注销的时候将会丢失这些设置值;
3. 若要重复适用,则最好在.profile中定义;环境变量的使用与本地变量的使用方法相同,
4. 但是在使用之前,必须用export命令导出。
一.Linux的变量种类
按变量的生存周期来划分,Linux变量可分为两类:
1.永久的:需要修改配置文件,变量永久生效
2.临时的:使用export命令声明即可,变量在关闭shell时失效
二.Linux 环境变量文件
linux变量文件有/etc/environment 或 /etc/profile 或 ~/.profile 或 /etc/bash.bashrc 或 ~/.bashrc, 以及~/.bash_profile(一般是用户在自己目录下新建的),~/.bash_logout.
1./etc/environment:是系统在登录时读取的第一个文件,用于为所有进程设置环境变量。系统使用此文件时并不是执行此文件中的命令,而是根据而是根据KEY=VALUE模式的代码,对KEY赋值以VALUE,因此文件中如果要定义PATH环境变量,只需加入一行形如 PATH=$PATH:/xxx/bin的代码即可
2./etc/profile:此文件是系统登录时执行的第二个文件。 为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置。
(/etc/profile可以用于设定针对全系统所有用户的环境变量,环境变量周期是永久性)
3. ~/.profile:
对应当前登录用户的profile文件,用于定制当前用户的个人工作环境(变量是永久性)
4. /etc/bash.bashrc:是针对所有用户的bash初始化文件,在此中设定的环境变量将应用于所有用户的shell中,此文件会在用户每次打开shell时执行一次
5.~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。(~/.bashrc只针对当前用户,变量的生命周期是永久的)
6.~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,他设置一些环境变量,执行用户的.bashrc文件。(如果~/目录下没有.bash_profile则新建立一个)
当一个shell关闭时,在bash_profile中定义的系统变量则会失效。因此,每打开一个新的shell时都要运行一次source bash_profile.而且针对当前用户。
7.~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件。
说明:
1.以上这几个文件的执行顺序是/etc/enviroment–>/etc/profile –>~/.profile –>/etc/bash.bashrc–> ~/.bashrc
2.要使得刚修改的环境变量生效:source .bashrc
3.查看环境变量:env
4.使用readonly命令设置只读变量,如果使用了readonly命令的话,变量就不可以被修改或清除了。
5.使用unset命令来清除环境变量
$ unset TEMP_KEVIN #删除环境变量TEMP_KEVIN