序言:

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:是系统在登陆时读取的第一个文件,用于为所有进程设置环境变量。系统使用此文件时并不是执行此文件中的命令linux 分区,而是按照而是按照KEY=VALUE模式的代码,对KEY形参以VALUE,因而文件中假如要定义PATH环境变量,只需加入一行形如PATH=$PATH:/xxx/bin的代码即可

2./etc/profile:此文件是系统登陆时执行的第二个文件。为系统的每位用户设置环境信息,当用户第一次登陆时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置。

(/etc/profile可以用于设定针对全系统所有用户的环境变量,环境变量周期是永久性)

3.~/.profile:

对应当前登入用户的profile文件linux export命令,用于订制当前用户的个人工作环境(变量是永久性)

4./etc/bash.bashrc:是针对所有用户的bash初始化文件,在此中设定的环境变量将应用于所有用户的shell中,此文件会在用户每次打开shell时执行一次

5.~/.bashrc:该文件包含专用于你的bashshell的bash信息,当登陆时以及每次打开新的shell时,该文件被读取。(~/.bashrc只针对当前用户,变量的生命周期是永久的)

命令提示符_linux export命令_命令英文

6.~/.bash_profile:每位用户都可使用该文件输入专用于自己使用的shell信息,当用户登入时,该文件仅仅执行一次。默认情况下linux系统应用,他设置一些环境变量,执行用户的.bashrc文件。(假如~/目录下没有.bash_profile则新构建一个)

当一个shell关掉时,在bash_profile中定义的系统变量则会失效。为此,每打开一个新的shell时都要运行一次sourcebash_profile.并且针对当前用户。

7.~/.bash_logout:当每次退出系统(退出bashshell)时,执行该文件。

说明:

1.以上这几个文件的执行次序是/etc/enviroment–>/etc/profile–>~/.profile–>/etc/bash.bashrc–>~/.bashrc

2.要促使刚更改的环境变量生效:source.bashrc

3.查看环境变量:env

4.使用readonly命令设置只读变量,假如使用了readonly命令的话,变量就不可以被更改或清不仅。

命令提示符_命令英文_linux export命令

5.使用unset命令来去除环境变量

$unsetTEMP_KEVIN#删掉环境变量TEMP_KEVIN

三.设置变量的三种方式

1.在/etc/profile文件中添加变量[对所有用户生效(永久的)]

用vim在文件/etc/profile文件中降低变量,该变量将会对Linux下所有用户有效,而且是“永久的”。

比如:编辑/etc/profile文件,添加TEST变量

#vim/etc/profile

exportTEST=JIBO

linux export命令_命令提示符_命令英文

注:更改文件后要想马上生效还要运行#source/etc/profile不然只能在上次重进此用户时生效。

2.在用户目录下的.bash_profile文件中降低变量[对单一用户生效(永久的)]

用vim在用户目录下的.bash_profile文件中降低变量,改变量仅会对当前用户有效,而且是“永久的”。

比如:编辑jibo用户目录(/home/jibo)下的.bash_profile

$vi/home/jibo/.bash.profile若果没就修改.bashrc文件.

添加如下内容:

exportTEST=JIBO

注:更改文件后要想马上生效还要运行

linux export命令_命令提示符_命令英文

$source/home/jibo/.bash_profile不然只能在上次重进此用户时生效。

3.直接运行export命令定义变量(只对当前shell(BASH)有效(临时的))

在shell的命令行下直接使用[export变量名=变量值]定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关掉了,变量也就失效了,再打开新shell时就没有这个变量,须要使用的话还须要重新定义。

1>同一行键入2个句子,使用分号隔开

VARIABLE-NAME=value;exportVARIABLE-NAME

也可以支行写:

VARIABLE-NAME=value

exportVARIABLE-NAME

4.set命令

在$HOME.profile文件中,设置环境变量时,不仅export可以导入之外,还有set-a命令,可以指明所有变量直接被导入;不过别在/etc/profile中设置linux export命令,在自己的$HOME.profile中设置。

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复