环境变量是操作系统中一组具有名称的值,能够影响应用程序的执行效果。环境变量是应用程序的执行环境的组成部分,例如:一个正在运行的程序可以通过"TEMP"这个环境变量来获取操作系统中用来存放临时文件的路径,或者通过"HOME"或者"USERPROFILE"这个变量来获取运行该应用程序的用户的文件目录。
环境变量最早是在1979年Version7 Unix中引入的,后来在Linux,OSX和Windows等操作系统中也引入了这个系统特性。
这里我们就Windows操作系统来讨论。
在Windows操作系统中,可以通过两种方式来查看和修改系统中的环境变量。一种是通过“我的电脑”右键菜单——“属性”——“高级系统设置”——“高级”选项卡——“环境变量”来访问环境变量管理面板:
另一种是在注册表的"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment"子项中可以找到系统中所有的环境变量的键值:
(Wiki上还提到可以在AUTOEXEC.BAT中找到环境变量的配置信息,但是AUTOEXEC.BAT文件在DOS和Win95/98系统中有效,从Win2000开始,保留这个文件只是为了兼容)
系统中的环境变量既可以用在脚本中,也可以在命令行中使用。
例如我们在命令行中输入:echo %temp%可以输出当前系统的临时文件夹的路径,或者在Windows PowerShell中输入Write-Output $HOME输出当前用户HOME路径。
下面是Windows中常见的环境变量的一些具体的意义:
%CD%:当前路径(Current Directory),这和在命令行中输入cd得到的结果相同。
%DATE%:当前日期,日期格式和当前用户的设置有关。
%ERRORLEVEL%:错误等级,输出的是最后一次出错的错误代码。
%RANDOM%:随机返回一个0~32767之间的整数。
%TIME%:当前时间。
%APPDATA%:当前登录用户的Application Data(应用程序数据)的完整路径。
%LOCALAPPDATA%:应用程序的临时文件路径,包括例如桌面主题,Windows异常报告,缓存等等。
%ProgramFiles%:program files路径,存放着Windows中安装的应用程序。
%CommonProgramFiles%:公共文件路径,默认为"C:\Program Files\CommonFiles"。
%SystemDrive%:Windows系列系统独有的环境变量,表示系统盘盘符,指出操作系统的安装磁盘(如果在C盘的话,那么值为”C:”)。
%SystemRoot%:Windows系列系统独有的环境变量,表示操作系统的根目录,盘符和%SystemDrive%相同,路径因系统的版本而异,XP及之后的操作系统为"\Windows"。
%windir%:Windows文件夹的全路径,在XP及之后的系统中为"C:\Windows"。
%UserDomain%:计算机所在的工作组或者域的名称。
%LOGONSERVER%:当前登录用户的身份验证服务器主机名。
%UserProfile%:Windows系列系统独有的环境变量,表示当前用户的文档的路径。
%UserName%:当前登录用户的用户名。
%PATH%:由一系列的分号分隔的路径组成,用于脚本解析或者命令行在执行命令时,查找匹配的可执行文件或者脚本。路径为绝对路径,对于路径中包含的子路径不会进行递归查找。
关于PATH环境变量的一点说明:
Windows中很多程序在安装或者配置过程中(例如JAVA JDK的安装,python的安装等等),都需要配置PATH环境变量,在配置的过程中要注意的是,PATH环境变量的路径中不能包含空格或者非英文字符和标点,不然该路径及该路径后面的所有路径都会失效。例如有一个特别常见的问题,很多朋友在安装完python开发环境,配置完成环境变量后,在cmd中执行python时会提示“"python"不是内部或外部命令,也不是可运行的程序或批处理文件”,这时首先检查下PATH环境变量中添加的路径是否有空格或者非英文字符和标点,如果没问题,可以把在PATH变量值最后添加的路径放到PATH变量值的最前面,这时如果好用了,那么只有一个可能,PATH变量值中存在无效的路径(包含空格或非英文字符和标点),如果还不好用,再检查一下是不是路径写错了吧。
参考资料:
http://en.wikipedia.org/wiki/Environment_variable
http://baike.baidu.com/view/601129.htm?fr=aladdin
————————————————
版权声明:本文为CSDN博主「远行的风」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qwertyupoiuytr/article/details/53999624
网友评论