概念
- 环境变量(environment variables)在操作系统中用来指定操作系统运行环境的一些参数
开发人员基本都知道,大多数开发工具平台第一步都会在操作系统中进行环境变量的配置,例如常见的jdk、maven、tomcat、nodejs、git、anaconda等。
在这里为了方便理解,我们将操作系统现实化,将其视为大家庭,并且家庭中有很多的成员,并且每位成员可以买卖物品以及婚丧嫁娶,每一位家庭成员都有自己的私有物品,例如手机、日记本,与此同时,这个家庭又会有公有物品,例如沙发、餐桌、电视,每位家庭成员都可以利用公共物品而不能越界去使用其它家庭成员的私有物品。
抽象到操作系统多用户情况来说,操作系统会将每一个用户视为这个家庭的成员,当这个家庭出现成员变动时,就会导致当前事件成员私人物品的变化,公有物品不会发生变动,具体到环境变量中,用户变量会相应的发生变化,系统变量不受影响。当家庭成员想将自己的私有物品分享给其它成员或者买了一个新的公共物品添加到这个大家庭时,当前家庭中的成员都可以使用它,具体到环境变量中,就是将当前物品添加到系统变量,相应的用户变量也会受到影响。
环境变量的分类
- 用户环境变量
用户存在于这个大家庭里,即是家庭的成员。
用户变量,也就是每一个家庭成员的私人用品,例如手机、钱包、日记本之类,它属于个人私有的,并不会对外公开分享。当操作系统中其它用户想要使用是没有权限的,仅限于当前用户使用。
Windows系统对应注册表位置 HKEY_CURRENT_USER\Environment
- 系统环境变量
家庭中成员之间可以公共使用的物品。
系统环境变量可以理解为系统的视线范围,在这个大家庭里,家庭成员要使用公开物品,例如电视,就会去相应的地点去寻找,如果这个家庭中不存在电视,就不会找到。那么将执行程序的路径放在系统环境变量中,就是相当于给这个家庭买了公用的电视,除去现实中坏掉和偷掉等不可抗力因素,物品本身不会消失,会永远的存在家里面,所以这个家庭中的每个用户在需要时都可以去寻找使用它。
Windows系统对应注册表位置 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment
环境变量的写法
在我们的日常使用中,系统环境变量是最常用的,例如变量path,temp之类。
path(可执行文件的搜索路径) 一般开发工具配置在path中。将可执行文件的绝对路径复制进去,也可以新建环境变量后用 %path% 在取外部变量名的值进行配置。
验证是否配置成功的方式就是打开命令提示符输入程序相应的启动或版本验证命令,如果启动程序或者出现程序对应的版本号,便证明当前变量已成功添加。
注意事项
它们的优先级是从前往后,从上往下的,也就是说,如果其中存在相同的路径目录,就会按优先级在命令提示符中执行时,未配置的话就会报错,如果有两个相同程序变量却不同版本的环境时会优先选择第一个,所以配置的时候一定要看清顺序,避免出现使用错误的情况。
那么现在,你明白环境变量到底是什么了吗?