Перед вызовом bash убедитесь, что для %PATH%
(Windows CMD PATH) установлено значение:
set G=c:\path\to\latest\git
set PATH=%G%\bin;%G%\usr\bin;%G%\mingw64\bin
set PATH=%PATH%;C:\windows\system32;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\
В bash вы увидите сеанс, который:
/usr/bin
установлен на полное содержимое %G%\usr\bin
, а %G%\mingw64\bin
/bin
отображает только %G%\bin
плюс только встроенные команды
То есть:
vonc@vonc:/$ ls /usr/bin|wc -l
1160
vonc@vonc:/$ ls /bin|wc -l
149
Это началось с поддержки MingW2 в 2015 , а затем и mingw-w64 проекта.
Тем не менее, /bin
смонтирован на %G%\usr\bin
.
Есть ли файл конфигурации, чтобы изменить это?
Да: /etc/mtab
$ cat /etc/mtab
D:/prgs/git/latest / ntfs binary,noacl,auto 1 1
D:/prgs/git/latest/usr/bin /bin ntfs binary,noacl,auto 1 1
C:/Users/vonc/AppData/Local/Temp /tmp ntfs binary,noacl,posix=0,usertemp 1 1
То есть /bin
монтируется только один раз: в.
Почему одна и та же папка монтируется дважды?
Поскольку /
монтируется в %G%
, /usr/bin
также является ссылкой (не монтируется)до %G%\usr\bin
.
Git 2.5.2.2 (сентябрь 2015 г.) иллюстрирует это с выпуском 405 и commit bf980fd .(см. также PR 79 ).