dgo*_*dgo 2 windows command-line
我的计算机上有几个地方有可执行文件,它们都添加到PATH
.
有时,在某些情况下,我有多个具有相同名称的可执行文件,它们要么具有不同的配置,要么完全不同。例如我有原生的 WindowsFIND
命令,我也有Windows的 Linux 端口find
。这两者本身都非常有用,但做的事情却大不相同。
当我FIND
从命令行执行时;默认情况下执行 Windows 版本,除非我在 Unix 版本的目录中。在这种情况下,这主要是我想要的,但也有不同的情况。我知道将运行的可执行文件将始终是我键入which <executable name>
.
我的问题是:该可执行文件是如何选择的?为什么 Windows 选择Git
位于...\msysgit\bin\git.exe
而不是位于D:\bin\git.exe
?这两个位置都在PATH
. 是不是像PATH
条目的顺序一样愚蠢?
Windows 首先检查当前工作目录,然后从左到右检查 PATH 变量中的每个路径,最后检查系统位置(例如 %WINDIR%)。这几乎与 Linux 相同,只是 Linux 不检查“.”。在 PATH 之前。