Linux环境变量

前言:

1. 环境变量是操做系统环境设置的变量,适用于整个系统的用户进程; shell

2. 环境变量能够在命令中设置,可是用户注销的时候将会丢失这些设置值; vim

3. 若要重复适用,则最好在.profile中定义;环境变量的使用与本地变量的使用方法相同,bash

4. 可是在使用以前,必须用export命令导出。ide

一.Linux的变量种类

按变量的生存周期来划分,Linux变量可分为两类:spa

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的设置。it

/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

三.设置变量的三种方法

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

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

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

# vim/etc/profile

exportTEST=JIBO

注:修改文件后要想立刻生效还要运行# source /etc/profile否则只能在下次重进此用户时生效。

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

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

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

$ vi/home/jibo/.bash.profile 若是没就更改.bashrc文件.

添加以下内容:

exportTEST=JIBO

注:修改文件后要想立刻生效还要运行

$source /home/jibo/.bash_profile否则只能在下次重进此用户时生效。

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

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

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

VARIABLE-NAME=value; export VARIABLE-NAME

也能够分行写:

VARIABLE-NAME=value

export VARIABLE-NAME

4.set命令 

在$HOME.profile文件中,设置环境变量时,除了export能够导出以外,还有set -a命令,能够指明全部变量直接被导出;不过别在/etc/profile中设置,在本身的$HOME.profile中设置。

相关文章
相关标签/搜索