centos7环境变量查询、设置与删除
1、环境变量的分类
# 按生效的范围分类。
系统环境变量:公共的,对全部的用户都生效。
用户环境变量:用户私有的、自定义的个性化设置,只对该用户生效。
# 按生存周期分类。
永久环境变量:在环境变量脚本文件中配置,用户每次登录时会自动执行这些脚本,相当于永久生效。
临时环境变量:使用时在Shell中临时定义,退出Shell后失效。
2、查看环境变量
# env命令:查看当前用户全部的环境变量。
env
用env命令的时候,满屏显示了很多环境变量,不方便查看,可以用grep筛选。
env|grep 环境变量名
例:env|grep PATH
# echo命令:查看当前用户全部的环境变量,符号$不能缺少。
echo $环境变量名
例:echo $PATH
# set命令:列出当前系统环境变量和用户环境变量
set
set查询某个环境变量
env|grep 环境变量名
3、设置环境变量
# 设置临时环境变量(退出后失效)
变量名='值'
export 变量名
或
export 变量名='值'
如果环境变量的值没有空格等特殊符号,可以不用单引号包含。
示例:
export ORACLE_HOME=/oracle/home
export ORACLE_BASE=/oracle/base
export ORACLE_SID=snorcl11g
export NLS_LANG='Simplified Chinese_China.ZHS16GBK'
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:.
采用export设置的环境变量,在退出Shell后就会失效,下次登录时需要重新设置。如果希望环境变量永久生效,需要在登录脚本文件中配置。修改永久环境变量还需执行下方命令才能立即生效。
source 文件地址
4、系统环境变量(系统环境变量对全部的用户生效,设置系统环境变量有三种方法。)
1)在/etc/profile文件中设置
用户登录时执行/etc/profile文件中设置系统的环境变量。但是,Linux不建议在/etc/profile文件中设置系统环境变量。
2)在/etc/profile.d目录中增加环境变量脚本文件,这是Linux推荐的方法。
/etc/profile在每次启动时会执行/etc/profile.d下全部的脚本文件。/etc/profile.d比/etc/profile好维护,不想要什么变量直接删除/etc/profile.d下对应的 shell 脚本即可。
示例(设置vim环境变量):
# 先设置临时变量以便使用vim编辑文件
export PATH=$PATH:/usr/local/vim/bin
# 编辑/etc/profile.d/下的文件,.sh前缀可以随意设置
vim /etc/profile.d/vim.sh
# 在/etc/profile.d/vim.sh里加上这句就行
export PATH=$PATH:/usr/local/vim/bin
3)在/etc/bashrc文件中设置环境变量
该文件配置的环境变量将会影响全部用户使用的bash shell。但是,Linux也不建议在/etc/bashrc文件中设置系统环境变量。
5、用户环境变量
用户环境变量只对当前用户生效,设置用户环境变量也有多种方法。
在用户的主目录,有几个特别的文件,用ls是看不见的,用 ls -al 可以看见。
1).bash_profile(推荐首选)
当用户登录时执行,每个用户都可以使用该文件来配置专属于自己的环境变量。
2).bashrc
当用户登录时以及每次打开新的Shell时该文件都将被读取,不推荐在里面配置用户专用的环境变量,因为每开一个Shell,该文件都会被读取一次,效率肯定受影响。
3).bash_logout
当每次退出系统(退出bash shell)时执行该文件。
4).bash_history
保存了当前用户使用过的历史命令。
6、环境变量脚本文件的执行顺序
环境变量脚本文件的执行顺序如下:
/etc/profile->/etc/profile.d->/etc/bashrc->用户的.bash_profile->用户的.bashrc
同名的环境变量,如果在多个脚本中有配置,以最后执行的脚本中的配置为准。
7、 使用unset命令来清除环境变量
export TEST="Test..." #增加一个环境变量TEST
env|grep TEST #此命令有输出,证明环境变量TEST已经存在了
# TEST=Test...
unset TEST #删除环境变量TEST
env|grep TEST #此命令没有输出,证明环境变量TEST已经被删除
附:常用环境变量
# PATH:可执行程序的搜索目录,可执行程序包括Linux系统命令和用户的应用程序
# LANG:Linux系统的语言、地区、字符集
# HOSTNAME:服务器的主机名
# SHELL:用户当前使用的Shell解析器
# HISTSIZE:保存历史命令的数目
# USER:当前登录用户的用户名
# HOME:当前登录用户的主目录
# PWD:当前工作目录
# LD_LIBRARY_PATH:C/C++语言动态链接库文件搜索的目录,它不是Linux缺省的环境变量,但对C/C++程序员来说非常重要
# CLASSPATH:JAVA语言库文件搜索的目录,它也不是Linux缺省的环境变量,但对JAVA程序员来说非常重要
centos7环境变量设置:https://blog.csdn.net/qq_39715000/article/details/125023190
SHELL中的变量:https://blog.csdn.net/qq_40707090/article/details/123999254
centos7设置、查看、删除环境变量的方法:https://www.cnblogs.com/qianzf/p/7082940.html
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。