变量(Variable),在编程语言中,通常是一个易于记忆的,用于存储计算结果的概念。
在操作系统中,有一种变量,我们叫环境变量,可以在进程之间传递信息,而且这些环境变量我们是可以定义的。环境变量是我们使用操作系统时,非常重要的一个概念,有的软件在安装时,需要我们去配置改变环境变量才可以正常使用,如经典的JAVA_HOME。
Windows系统中,有两个层次的环境变量:用户环境变量和系统环境变量。用户环境变量中定义的内容,只对当前登录用户有效,更换登录用户后即失效。而系统环境变量是对所有用户都有效的。
图形界面下,环境变量配置的入口。Windows11为设置、关于、高级系统设置。在这个系统属性对话框中,打开“高级”标签,我们就可以看到环境变量按钮了。
我们点击【环境变量…】按钮,打开环境变量配置对话框。
从这个对话框我们可以看到,上部分是用户环境变量,下部分是系统环境变量。
列表中就是变量名称和值对,选中可以编辑或删除,还可以【新增】。
对于非专业人员,我们不要轻易更改环境变量的名称和值。这里我们来认识两个重要的环境变量。
Path
Path的值,是以分号分割的路径组合。当我们在命令窗口,或者开始的运行中输入一个不带路径的命令时,系统首先在当前目录下寻找命令,如果没有找到,就会到Path指定的这些 路径下去寻找。
所以,当你需要在运行中可以快速执行自己的命令式,只需要把命令路径加入到Path路径中即可。
TEMP/TMP
这是temporary的缩写,在用户环境变量中,指定的是用户的临时目录位置;而系统环境变量中,指定的是系统临时文件的位置。
我们可以看到,我们的临时文件保存位置通常在”c:\users\登录用户名\AppData\local\temp“下面。临时文件夹下的内容是可以随便删除的,尤其是在占用了大量磁盘空间的时候,有必要删除。
在PowerShell环境下,获取所有环境变量的命令是:get-childitem env:获取某个环境变量值的方法为(如获取系统根目录):get-childitem env:systemroot
在cmd命令控制台下,获取所有环境变量的命令是 set。显示某个环境变量的命令是 echo %systemroot%,变量名需要使用%包起来。
有没有发现,有的环境变量,只有在PowerShell或命令提示符下才可以看到的?因为系统是不希望普通用户去关系这些内容的。
对于专业人士,如运维工程师,我们经常需要使用环境变量去配置我们的脚步。比如获取系统所在目录,千万不要写死为c:\windows,而是使用systemroot这个环境变量。
,