1

Запустите сеанс gitbash или windows cmd и запустите

echo $PATH

или же

echo %PATH%

Они оба печатают содержимое системной переменной PATH, но ни одна не печатает содержимое переменной PATH, характерной для моей учетной записи пользователя. Для справки, вот вывод echo $PATH в git bash:

/c/Users/Chiel.tenBrinke/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/mingw64/bin:/usr/bin:/c/Users/Chiel.tenBrinke/bin:/c/Program Files (x86)/Intel/iCLS Client:/c/Program Files/Intel/iCLS Client:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0:/c/Program Files/ThinkPad/Bluetooth Software:/c/Program Files/ThinkPad/Bluetooth Software/syswow64:/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)/Intel/OpenCL SDK/2.0/bin/x86:/c/Program Files (x86)/Intel/OpenCL SDK/2.0/bin/x64:/c/Program Files/Common Files/Lenovo:/c/SWTOOLS/ReadyApps:/c/Program Files (x86)/Common Files/Lenovo:/c/Program Files/Intel/WiFi/bin:/c/Program Files/Common Files/Intel/WirelessCommon:/c/Program Files/Symantec.cloud/PlatformAgent:/c/Program Files (x86)/Windows Kits/8.1/Windows Performance Toolkit:/c/Program Files/Microsoft SQL Server/110/Tools/Binn:/c/Program Files (x86)/Microsoft SQL Server/100/Tools/Binn:/c/Program Files/Microsoft SQL Server/100/Tools/Binn:/c/Program Files/Microsoft SQL Server/100/DTS/Binn:/c/Program Files (x86)/Microsoft SDKs/TypeScript/1.0:/c/Program Files/Microsoft SQL Server/120/Tools/Binn:/c/Program Files/Microsoft/Web Platform Installer:/c/Program Files (x86)/IBM/Personal Communications:/c/Program Files (x86)/IBM/Trace Facility:/c/Program Files/7-Zip:/c/Program Files (x86)/Gource/cmd:/c/Program Files (x86)/LLVM/bin:/c/Program Files/Perforce:/c/Program Files/Perforce/DVCS:/c/Users/Chiel.tenBrinke/.dnx/bin:/c/Program Files/Microsoft DNX/Dnvm:/c/Program Files/nodejs:/c/ProgramData/chocolatey/bin:/c/Program Files/Microsoft SQL Server/130/Tools/Binn:/c/Go/bin:/c/Users/Chiel.tenBrinke/bin:/c/Program Files (x86)/Python 3.5/Scripts:/c/Program Files (x86)/Python 3.5:/c/ProgramData/Oracle/Java/javapath:/c/Program Files/Python 3.5/Scripts:/c/Program Files/Python 3.5:

Просто чтобы прояснить разницу между системным PATH и пользовательским PATH, на этом снимке экрана показана панель, которая позволяет редактировать пользовательские переменные и системные переменные, и я имею в виду различие:

Скриншот

По запросу, вот содержимое пользователя PATH:

C:\Ruby22-x64\bin;C:\Users\Chiel.tenBrinke\bin;C:\Program Files (x86)\CMake\bin;C:\Users\Chiel.tenBrinke\AppData\Local\Pandoc\;C:\Users\Chiel.tenBrinke\luacheck\bin;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\Users\Chiel.tenBrinke\AppData\Roaming\npm;C:\Users\Chiel.tenBrinke\.babun;C:\Users\Chiel.tenBrinke\.gem\ruby\2.2.0\bin;C:\Program Files (x86)\ChucK\bin

и система PATH:

C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\ThinkPad\Bluetooth Software\;C:\Program Files\ThinkPad\Bluetooth Software\syswow64;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)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\Program Files\Common Files\Lenovo;C:\SWTOOLS\ReadyApps;C:\Program Files (x86)\Common Files\Lenovo;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\Symantec.cloud\PlatformAgent\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\IBM\Personal Communications\;C:\Program Files (x86)\IBM\Trace Facility\;C:\Program Files\7-Zip;C:\Program Files (x86)\Gource\cmd;C:\Program Files (x86)\LLVM\bin;C:\Program Files\Perforce;C:\Program Files\Perforce\DVCS\;C:\Users\Chiel.tenBrinke\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files\nodejs\;C:\ProgramData\chocolatey\bin;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Go\bin;C:\Users\Chiel.tenBrinke\bin;C:\Program Files (x86)\Python 3.5\Scripts\;C:\Program Files (x86)\Python 3.5\;C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Python 3.5\Scripts\;C:\Program Files\Python 3.5\;C:\Program Files\Git\cmd

Как я могу убедиться, что моя переменная PATH пользователя также учитывается в cmd и git bash?

1 ответ1

2

Как я могу убедиться, что моя переменная PATH пользователя принята во внимание.

Ваша проблема в том, что ваш системный путь в настоящее время слишком длинный (2000 символов). Исправление также должно исправить ваш путь bash как он обычно основан на пути Windows.

Вы можете:

  • Сократите системный путь до <1920 символов или

  • Добавьте значения пути пользователя в системный путь.


Распространяется ли echo %PATH% только на системные или пользовательские переменные?

Выяснилось, что в Windows Server 2003 после того, как системная переменная PATH передает 1920 символов, пользовательская переменная среды PATH больше не объединяется с ней, чтобы установить переменную среды PATH процесса, даже если полный системный PATH (даже если он больше) будет включен в переменная PATH процесса.

Источник Распространяется ли echo% PATH% только на системные или пользовательские переменные? ответ Дэвида Хеффернана

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .