值得一提的是,Linux 系统中环境变量的名称一般都是大写的,这是一种约定俗成的规范。
1,使用 echo
命令查看单个环境变量,例如:echo $PATH
;使用 env
查看所有环境变量;使用 set
查看所有本地定义的环境变量。查看 PATH
环境的实例如下:
使用 unset
删除指定的环境变量,set
也可以设置某个环境变量的值。清除环境变量的值用 unset 命令。如果未指定值,则该变量值将被设为 NULL。示例如下:
$ export TEST="Test..." # 增加一个环境变量 TEST
$ env|grep TEST # 此命令有输入,证明环境变量 TEST 已经存在了
TEST=Test...
unset TEST # 删除环境变量 TEST
$ env|grep TEST # 此命令没有输出,证明环境变量 TEST 已经删除
2,按照变量的生存周期划分,Linux 变量可分为两类:
- 永久的:需要修改配置文件,变量永久生效。
- 临时的:使用
export
命令声明即可,变量在关闭shell
时失效。
3,按作用的范围分,在 Linux 中的变量,可以分为环境变量和本地变量:
- 环境变量:相当于全局变量,存在于所有的 Shell 中,具有继承性;
- 本地变量:相当于局部变量只存在当前 Shell 中,本地变量包含环境变量,非环境变量不具有继承性。
4,在 Linux 中添加环境变量有三种方法:
- 在
/etc/profile
文件中添加变量【对所有用户生效(永久的)】 - 在用户目录下的
.bash_profile
文件中增加变量【对单一用户生效(永久的)】 - 直接运行
export
命令定义变量【只对当前 shell(BASH) 有效(临时的)】
5,常用的环境变量,环境变量名称都是大写。
PATH
:决定了shell
将到哪些目录中寻找命令或程序HOME
:当前用户主目录HISTSIZE
:历史记录数LOGNAME
:当前用户的登录名HOSTNAME
:指主机的名称SHELL
:当前用户 Shell 类型LANGUGE
:语言相关的环境变量,多语言可以修改此环境变量MAIL
:当前用户的邮件存放目录PS1
:基本提示符,对于 root 用户是 #,对于普通用户是 $
6,C
程序调用环境变量函数
getenv()
: 返回一个环境变量。setenv()
:设置一个环境变量。unsetenv()
: 清除一个环境变量。
参考资料
Linux环境变量总结