linux环境变量(Linux环境变量详细总结)

linux环境变量
测试环境说明Linux版本:
Linux centos 3.10.0-862.el7.x86_64
设置环境变量方法一: export命令
直接在命令行下使用如下命令:

# export 变量名=变量值例如:

# export NAME=”myname”注意事项:
此方法设置环境变量的生效时间:立即生效.
生效期限:当前shell有效,退出登录或者关闭终端再打开后无效.
生效范围:仅对当前用户有效。
方法二: /etc/profile文件
可通过修改/etc/profile来设置环境变量:

# vi /etc/profile在文件最后一行添加:export 变量名=变量值例如:

# vi /etc/profile在文件最后一行添加:export ENVTEST=”Mytest”注意事项:
此方法设置环境变量的生效时间:重新打开终端生效;或者手动执行source /etc/profile命令后立即生效。
生效期限:永久有效。
生效范围:对所有用户有效。
/etc/profile只有root用户才可以进行修改。
方法三: /etc/environment文件
可通过修改/etc/environment来设置环境变量:

# vi /etc/environment在文件最后一行添加:export 变量名=变量值例如:

# vi /etc/environment在文件最后一行添加:export ENVTEST1=”Mytest1″注意事项:
/etc/environment只有root用户才可以进行修改。
生效期限:永久有效。
生效范围:对所有用户有效。
此方法设置环境变量的生效时间:手动执行source /etc/environment命令后立即生效。
方法四: /etc/bashrc文件
可通过修改/etc/bashrc来设置环境变量:

# vi /etc/bashrc在文件最后一行添加:export 变量名=变量值例如:

# vi /etc/bashrc在文件最后一行添加:export ENVTEST2=”Mytest2″注意事项:
/etc/bashrc只有root用户才可以进行修改。
生效期限:永久有效。
生效范围:对所有用户有效。
此方法设置环境变量的生效时间:手动执行source /etc/bashrc命令后立即生效。
方法五: .bash_profile文件
可通过修改用户目录下的.bash_profile文件来设置环境变量:

$ vi .bash_profile在文件最后一行添加:export 变量名=变量值例如:

$ vi .bash_profile在文件最后一行添加:export USERENVTEST1=”Usertest1″注意事项:
生效时间:手动执行source ~/.bash_profile命令后立即生效。
生效期限:永久有效。
生效范围:对当前用户有效。
方法六: .bashrc文件
可通过修改用户目录下的.bashrc文件来设置环境变量:

$ vi .bashrc在文件最后一行添加:export 变量名=变量值例如:

$ vi .bashrc在文件最后一行添加:export USERENVTEST2=”Usertest2″注意事项:
生效时间:使用相同的用户打开新的终端时生效,或者手动执行source ~/.bashrc命令后立即生效。
生效期限:永久有效。
生效范围:对当前用户有效。
方法五和方法六的区别:
.bashrc 和.bash_profile ,原则上讲设置此类环境变量时在这两个文件任意一个里面添加都是可以的,这两个文件的区别为:.bash_profile是交互式login方式进入bash shell运行,.bashrc是交互式non-login方式进入bash shell运行。
可以理解为.bash_profile文件只会在用户登录的时候读取一次,而.bashrc在每次打开终端进行一次新的会话时都会读取。
查看环境变量方法一: export命令
export可以列出当前系统定义的环境变量:

# export命令输出如下:declare -x DISPLAY=”:0″declare -x HISTCONTROL=”ignoredups”declare -x HISTSIZE=”1000″declare -x HOME=”/root”declare -x HOSTNAME=”centos”declare -x KDEDIRS=”/usr”declare -x LANG=”en_US.UTF-8″declare -x LESSOPEN=”||/usr/bin/lesspipe.sh %s”declare -x LOGNAME=”root”declare -x MAIL=”/var/spool/mail/root”declare -x NAME=”myname”declare -x OLDPWDdeclare -x PATH=”/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin”declare -x PWD=”/root”declare -x SHELL=”/bin/bash”declare -x SHLVL=”1″declare -x TERM=”xterm-256color”declare -x USER=”root”declare -x XAUTHORITY=”/root/.xauthH4HL6c”方法二: echo命令
使用echo命令查看单个环境变量:

# echo $PATH命令输出:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin方法三: env命令
使用env查看所有环境变量:

# env命令输出:XDG_VTNR=1XDG_SESSION_ID=1HOSTNAME=centosSHELL=/bin/bashTERM=xterm-256colorHISTSIZE=1000QTDIR=/usr/lib64/qt-3.3QTINC=/usr/lib64/qt-3.3/includeQT_GRAPHICSSYSTEM_CHECKED=1USER=rootMAIL=/var/spool/mail/rootPATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/binPWD=/rootLANG=en_US.UTF-8KDEDIRS=/usrHISTCONTROL=ignoredupsSHLVL=1XDG_SEAT=seat0HOME=/rootLOGNAME=rootQTLIB=/usr/lib64/qt-3.3/libXDG_DATA_DIRS=/root/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/LESSOPEN=||/usr/bin/lesspipe.sh %sDISPLAY=:0QT_PLUGIN_PATH=/usr/lib64/kde4/plugins:/usr/lib/kde4/pluginsXAUTHORITY=/root/.xauthH4HL6c_=/bin/env方法四: set命令
使用set查看所有本地定义的环境变量:

# set命令部分输出:ABRT_DEBUG_LOG=/dev/nullBASH=/bin/bashBASHOPTS=checkwinsize:cmdhist:expand_aliases:extglob:extquote:force_fignore:histappend:interactive_comments:login_shell:progcomp:promptvars:sourcepathBASH_ALIASES=()BASH_ARGC=()BASH_ARGV=()BASH_CMDS=()BASH_COMPLETION_COMPAT_DIR=/etc/bash_completion.dBASH_LINENO=()BASH_REMATCH=()BASH_SOURCE=()BASH_VERSINFO=([0]=”4″ [1]=”2″ [2]=”46″ [3]=”2″ [4]=”release” [5]=”x86_64-redhat-linux-gnu”)BASH_VERSION=’4.2.46(2)-release’COLUMNS=87COMP_WORDBREAKS=$’ tn”‘><=;|&(:’DIRSTACK=()DISPLAY=:0环境变量的其他操作更新环境变量的值:

# export 变量名=新变量值清除环境变量

# unset 变量名设置环境变量为只读

# readonly 变量名只读变量unset时失败,举例如下:

# readonly TEST# unset TEST-bash: unset: TEST: cannot unset: readonly variable环境变量的分类环境变量可以简单的分成用户自定义的环境变量以及系统级别的环境变量。
用户级别环境变量定义文件:.bashrc文件和.bash_profile文件。
系统级别环境变量定义文件:/etc/profile文件、 /etc/environment文件、 /etc/bashrc文件。
环境变量加载顺序 为了测试各个不同文件的环境变量加载顺序,在每个环境变量定义文件中都定义相同的环境变量:ENVORDER。需要修改的文件如下:
/etc/profile
/etc/environment
/etc/bashrc
.bash_profile
.bashrc
在每个文件中的末尾都加上下面这句代码,并把冒号后的内容修改为当前文件的文件名:

# export ENVORDER=”$ENVORDER:/etc/profile”修改完之后保存,执行如下命令,让环境变量立即生效:

# source /etc/profile# source /etc/environment# source /etc/bashrc# source .bash_profile# source .bashrc执行如下命令打印环境变量的值如下:

# echo $ENVORDER命令输出如下::/etc/profile:/etc/environment:/etc/bashrc:/etc/bashrc:~/.bashrc:~/.bash_profile:/etc/bashrc:~/.bashrc综上所述,可判断Linux加载环境变量的顺序如下:
/etc/profile —> /etc/environment  —> /etc/bashrc  —> .bash_profile  —> .bashrc
常用环境变量linux中常见的环境变量如下:

变量名称解释
PATH 决定了shell将到哪些目录中寻找命令或程序
HOME 当前用户主目录
HISTSIZE 历史命令记录数
LOGNAME 当前用户的登录名
HOSTNAME 主机的名称
SHELL 当前用户Shell类型
LANG 当前系统语言环境
PWD 记录当前目录
EUID 记录当前用户的UID。root用户值为0。

linux环境变量相关文章

版权声明