¿Por qué no puedo anular mkdir con Git para la versión de Windows?

1

He instalado Git para Windows con la opción "sobrescribir comandos nativos" marcada. He revisado mi RUTA:

C:\Users\Domenic>echo %PATH%
C:\Program Files\Git\usr\bin;C:\Program Files\Git\cmd;C:\Program Files\nodejs\;C:\Windows\system32;C:\Windows;C:\python2;C:\python2\Scripts;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Intel\iCLS Client\;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\GitExtensions\;C:\Program Files\LLVM\bin;C:\depot_tools;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Ruby21-x64\bin;C:\ProgramData\nodist\bin;C:\ruby200\bin;C:\Chocolatey\bin;C:\Program Files\kdiff3;C:\Program Files (x86)\Microsoft VS Code\bin;C:\Program Files\Docker Toolbox;C:\Users\Domenic\AppData\Roaming\npm;C:\Users\Domenic\Dropbox\PATH

(si no quieres desplazarte tanto, solo ten en cuenta que C:\Program Files\Git\usr\bines lo primero)

Lo he comprobado con where:

C:\Users\Domenic>where mkdir
C:\Program Files\Git\usr\bin\mkdir.exe

Y cuando ejecuto eso directamente, funciona muy bien:

C:\Users\Domenic>"C:\Program Files\Git\usr\bin\mkdir.exe" --help
Usage: /usr/bin/mkdir [OPTION]... DIRECTORY...
Create the DIRECTORY(ies), if they do not already exist.

Mandatory arguments to long options are mandatory for short options too.
  -m, --mode=MODE   set file mode (as in chmod), not a=rwx - umask
(... etc ...)

Sin embargo, cuando trato de ejecutar mkdirdesde la línea de comandos, siempre vuelve a la integrada de Windows:

C:\Users\Domenic>mkdir --help
A subdirectory or file --help already exists.

C:\Users\Domenic>mkdir /?
Creates a directory.

MKDIR [drive:]path
(... etc ...)

¿Por qué no puedo anular mkdir?

Windows 10, Git para Windows 2.7.3

Domenic
fuente
superuser.com/questions/856582/… parece similar pero no explica por qué
Domenic
2
Porque cmd busca comandos integrados antes de buscar comandos externos en la ruta. Rodear el comando con "s obliga a cmd a mirar en el camino e ignorar los comandos internos
DavidPostill
1
Consulte ¿Cómo analiza el intérprete de comandos de Windows (CMD.EXE) los scripts? para obtener más información sobre cómo funciona el análisis de cmd.
DavidPostill