环境变量是大家在安装编译环境时都会接触到的一个东西,它在百度百科上的解释是:环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。
当然,相信大家看了这个解释,还是不知道环境变量是作啥。那么我们就用比较通俗的语言来说下:(以windows平台为例)
我们都知道,在windows下,要通过控制台来运行一个程序,如果不是内部命令,就必须输入这个程序所在的完整路径及程序名。否则就会报 “xxx不是内部或外部命令,也不是可运行的程序或批处理文件。”的错
比如我们要运行python,那么我们首先要查看python这个执行程序所在的安装目录,我的python执行程序所在目录为C:\Program Files\Python\Python36,那么就必须在控制台上输入C:\"Program Files\Python\Python36\python"并运行,如图
这样做的缺点是显而易见的,每运行一个程序,就得知道它所在的完整路径,输入十分麻烦;或者就不断地cd cd以到达这个路径下,很费时间。那么有没有更简单的方法呢,比如我直接在控制台上输入python,就能运行python这个程序。
显然是有的,我们就这样来尝试一下。我们看到,直接在控制台上输入python,还真就成功运行了python程序
是因为window特别偏爱python吗,显然不是,是环境变量在起作用。
如何查看环境变量呢,右键点击“此电脑”---高级系统设置---环境变量---编辑Path
在最后一张图中我们可以看到5条路径,这就是我们的环境变量Path的值。它的意思就是说,如果你在控制台上直接输入了程序名而没有输入完整路径,那么系统先在当前工作路径下找看是否这个程序名的程序,再在Path包含的这5条路径中依次寻找看是否这个程序名的程序。若以上任一一条路径有,就运行程序,否则报错。
Path是环境变量中比较常用的一个变量,此外还有其它各种变量,我们在控制台下输入set,即可查看所有的环境变量及其值。
在控制台下输入:set 环境变量名 ,即可查看某一个环境变量及其值。比如上图中出现了%USERPROFILE%这么一个东东,其中USERPROFILE就是变量名,而它被%%包在里面就说明它在window下是环境变量,我们可以查看它的值,
输入set USERPROFILE,就可查看:
以下是一些windows下常用的环境变量及作用
%ALLUSERSPROFILE% 局部 返回所有“用户配置文件”的位置。
%APPDATA% 局部 返回默认情况下应用程序存储数据的位置。
%CD% 局部 返回当前目录字符串。
%CMDCMDLINE% 局部 返回用来启动当前的 Cmd.exe 的准确命令行。
%CMDEXTVERSION% 系统 返回当前的“命令处理程序扩展”的版本号。
%COMPUTERNAME% 系统 返回计算机的名称。
%COMSPEC% 系统 返回命令行解释器可执行程序的准确路径。
%DATE% 系统 返回当前日期。使用与 date /t 命令相同的格式。由 Cmd.exe 生成。有关 date 命令的详细信息,请参阅 Date。
%ERRORLEVEL% 系统 返回最近使用过的命令的错误代码。通常用非零值表示错误。
%HOMEDRIVE% 系统 返回连接到用户主目录的本地工作站驱动器号。基于主目录值的设置。用户主目录是在“本地用户和组”中指定的。
%HOMEPATH% 系统 返回用户主目录的完整路径。基于主目录值的设置。用户主目录是在“本地用户和组”中指定的。
%HOMESHARE% 系统 返回用户的共享主目录的网络路径。基于主目录值的设置。用户主目录是在“本地用户和组”中指定的。
%LOGONSEVER% 局部 返回验证当前登录会话的域控制器的名称。
%NUMBER_OF_PROCESSORS% 系统 指定安装在计算机上的处理器的数目。
%OS% 系统 返回操作系统的名称。Windows 2000 将操作系统显示为 Windows_NT。
%PATH% 系统 指定可执行文件的搜索路径。
%PATHEXT% 系统 返回操作系统认为可执行的文件扩展名的列表。
%PROCESSOR_IDENTFIER% 系统 返回处理器说明。
%PROCESSOR_LEVEL% 系统 返回计算机上安装的处理器的型号。
%PROCESSOR_REVISION% 系统 返回处理器修订号的系统变量。
%PROMPT% 局部 返回当前解释程序的命令提示符设置。由 Cmd.exe 生成。
%RANDOM% 系统 返回 0 到 32767 之间的任意十进制数字。由 Cmd.exe 生成。
%SYSTEMDRIVE% 系统 返回包含 Windows XP 根目录(即系统根目录)的驱动器。
%SYSTEMROOT% 系统 返回 Windows XP 根目录的位置。
%TEMP% and %TMP% 系统和用户 返回对当前登录用户可用的应用程序所使用的默认临时目录。有些应用程序需要 TEMP,而其它应用程序则需要 TMP。
%TIME% 系统 返回当前时间。使用与 time /t 命令相同的格式。由 Cmd.exe 生成。有关 time 命令的详细信息,请参阅 Time。
%USERDOMAIN% 局部 返回包含用户帐户的域的名称。
%USERNAME% 局部 返回当前登录的用户的名称。
%UserProfile% 局部 返回当前用户的配置文件的位置。
%WINDIR% 系统 返回操作系统目录的位置。
通过以上讨论我们对环境变量有了一个初步认识,它就是指在操作中用来指定操作系统运行环境的一些参数,善用环境变量,可以解决一些软件跨系统共用(兼容性),当然也可以节约一些时间。
(第一篇文章,感觉好碴,哈哈)