环境变量
在 Linux 中一般通过环境变量配置操作系统的环境,如提示符、查找命令的路径、用户家目录等,这些系统默认的环境变量的变量名是固定的,我们只能修改变量的值。
环境变量设置
t通过 export 命令将变量声明为环境变量。命令如下:
[root@localhost ~]# export JAVAHOME="/usr/local/bin/jdk-8u131"
也可以先把变量声明为本地变量,再用 export 声明为环境变量,命令如下:
[root@localhost ~]# JAVAHOME="/usr/local/bin/jdk-8u131" [root@localhost ~]# export JAVAHOME
用户自定义变量和环境变量的区别就是:用户自定义变量只能在当前 Shell 中有效,而环境变量在当前 Shell 和所有子 Shell 中有效。比如:
[root@localhost ~]# name="zhang san" #把姓名声明为本地变量 [root@localhost ~]# export age="18" #年龄声明为本地变量 [root@localhost ~]# gender=male #性别声明为本地变量 [root@localhost ~]# export gender #性别升级为环境变量
然后使用 set命令查询一下这些变量:
[root@localhost ~]# set …省略部分内容… gender=male name='zhang san' age=18
在当前 Shell 中可以看到这三个变量。
再调用一次bash,也就是进入子Shell
[root@localhost ~]# bash [root@localhost ~]# set #再次查询变量 …省略部分输出… age=18 gender=male
在子Shell中只能看到环境变量"age"和"gender",而不能查询到用户自定义变量"name"
环境变量查询
set 既可以查询所有的变量,也可以查询环境变量,也可以使用 env 命进行环境变量的查询,命令如下:
[root@localhost ~]# env HOSTNAME=localhost.localdomain SELINUX_ROLE_REQUESTED= SHELL=/bin/bash …省略部分输出…
其中,set 命令可以查看所有变量,而 env 命令只能查看环境变量。
环境变量删除
通过unset 命令可以删除环境变量,命令如下:
[root@localhost ~]# unset gender [root@localhost ~]# env | grep gender #删除环境变量gender