Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Variables path环境变量是如何工作的?_Variables_Path_System - Fatal编程技术网

Variables path环境变量是如何工作的?

Variables path环境变量是如何工作的?,variables,path,system,Variables,Path,System,我知道如何向path变量添加值,所以我的问题不是如何使用它 相反,我想知道它在引擎盖下是如何工作的。当您键入要执行的程序名时,系统如何利用PATH查找匹配的程序?它如何知道何时找到匹配项?例如。。。 将c:\python27\设置到环境路径中时。。。 然后转到cmd,在c:\上键入python cmd知道要检查它将找到的环境路径c:\python27\以及其他路径。然后在环境路径中列出的每个路径中查找该命令 然后,如果找到该命令,则执行该命令 如果命令不在当前目录中,env路径只告诉在哪里查找该

我知道如何向path变量添加值,所以我的问题不是如何使用它

相反,我想知道它在引擎盖下是如何工作的。当您键入要执行的程序名时,系统如何利用PATH查找匹配的程序?它如何知道何时找到匹配项?

例如。。。 将c:\python27\设置到环境路径中时。。。 然后转到cmd,在c:\上键入python cmd知道要检查它将找到的环境路径c:\python27\以及其他路径。然后在环境路径中列出的每个路径中查找该命令 然后,如果找到该命令,则执行该命令


如果命令不在当前目录中,env路径只告诉在哪里查找该命令,它会检查该文件是否存在。在Windows上,shell在当前目录中查找可执行文件。如果它找到它,它就会运行它。然后,它在
PATH
变量的目录中查找,直到找到包含可执行文件的目录。当您开始在
PATHEXT
中应用扩展时,它会稍微复杂一些。当它执行@Liturgist所描述的操作时,它会执行找到的第一个匹配,然后停止搜索。