Linux添加、查看和删除环境变量(附带实例)
环境变量通常是在系统中已经进行过赋值的与当前 shell 运行环境相关的变量。因为与 shell 运行环境相关,所以环境变量会在当前 shell,以及基于当前 shell 开启的子 shell 中生效,以此确保子 shell 环境运行正常。
用户自定义变量和环境变量最主要的区别在于,用户自定义变量是局部变量,环境变量是全局变量。
我们也可以在变量赋值的同时声明环境变量:
在当前版本中,这两种方式都可以正常执行并生效,但需注意,一些较老的 bash 版本不支持在赋值的同时声明环境变量。
先来看看环境变量是如何删除的,其实删除环境变量的方法和删除用户自定义变量的方法相同,使用 unset 命令即可,具体如下:
用户自定义变量和环境变量最主要的区别在于,用户自定义变量是局部变量,环境变量是全局变量。
Linux添加环境变量
用户自定义环境变量和用户自定义变量的设置方法基本相同,只是需要通过 export 命令将变量声明为环境变量,具体如下:[root@localhost~]# VAL1=500 # 声明变量 VAL1 的值 [root@localhost~]# VAL2=300 # 声明变量 VAL2 的值 [root@localhost~]# export VAL2 # 使用 export 将 VAL2 声明为环境变量 [root@localhost~]# bash # 执行 bash 开启 启 子 shell [root@localhost~]# echo $VAL1 # 由于 VAL1 并未声明环境变量,所以 VAL1 的值不会传入子 shell,无法在子 shell 中调用 [root@localhost~]# echo $VAL2 300 # VAL2 声明环境变量后,在子 shell 中变量值可正常调用
我们也可以在变量赋值的同时声明环境变量:
[root@localhost~]# export VAL2="300" # 在变量赋值的同时,使用 export 声明环境变量以上我们见到了两种声明环境变量的方式:
- 第一种是先进行变量赋值再声明环境变量;
- 第二种是在变量赋值的同时声明环境变量。
在当前版本中,这两种方式都可以正常执行并生效,但需注意,一些较老的 bash 版本不支持在赋值的同时声明环境变量。
Linux查看和删除环境变量
其实,使用 set 命令可以查询所有的变量(包括用户自定义变量、用户自定义环境变量和系统环境变量),使用 env 命令可以查询环境变量(系统环境变量和用户自定义环境变量),具体如下:[root@localhost~]# set | grep VAL VAL1=500 VAL2=300 # VAL1 属于用户自定义变量,VAL2 属于用户自定义环境变量,它们都会在 set 命令中显示出来 [root@localhost~]# env | grep VAL VAL2=300 # 在 env 命令的执行结果中只存在 VAL2,因为 VAL1 属于用户自定义变量,不会在 env 命令的执行结果中出现env 命令和 set 命令的区别是,set 命令可以查看所有变量(除去预定义变量和位置参数变量),而 env 命令只能查看环境变量。
先来看看环境变量是如何删除的,其实删除环境变量的方法和删除用户自定义变量的方法相同,使用 unset 命令即可,具体如下:
[root@localhost~]# unset VAL2 # 删除变量 VAL2 [root@localhost~]# env | grep VAL2 # 通过 env 命令查找变量 VAL2 [root@localhost~]# set | grep VAL VAL1=500 _=VAL2 # 通过 set 命令查找变量 VAL2变量 VAL2 被删除,根据关键字 VAL 查询后发现只有变量 VAL1 存在。“_”记录了我们上一条命令的执行对象,因此“VAL2”只是被“_”记录,并不表示变量 VAL2 仍然存在。