¿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


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.