Windows & Git Bash: Bash PATH to read Windows %PATH% system variable

An mingw64 git bash session uses the executable /usr/bin/bash.exe, which doesn't access or modify the environment variable PATH (like it would in this unrelated vbs script, for instance)

A git bash session will simply add in front of your current PATH:

/mingw64/bin:/usr/bin:

It is possible that the mingW64 session packaged with msysgit won't consider a bin from another mingw installation: you can check it by setting another (simpler) directory to your PATH and see if it is still visible in your git bash session. If not, then it is a more general issue which concerns all directories that you would add to the PATH.


Here's my small workaround for a similar problem (MSYS2 bash on Windows 10).

The idea is to convert the required paths to Unix-style paths and append them to bash $PATH, all done in .bashrc.

Do not append required paths to Win PATH. Instead create a new env var in Windows, like MSYS2_WINPATH, and append all the semicolon-separated Windows path directories to this variable. Append %MSYS2_WINPATH% to %PATH%.

Now insert this in your .bashrc -

################################## Construct PATH variable ##################################

winpath=$(echo $MSYS2_WINPATH | tr ";" "\n" | sed -e 's/\\/\\\\/g' | xargs -I {} cygpath -u {})
unixpath=''

# Set delimiter to new line
IFS=$'\n'

for pth in $winpath; do unixpath+=$(echo $pth)":"; done

export PATH=$(echo $PATH:$unixpath | sed -e 's/:$//g')
unset IFS
unset unixpath
unset winpath

################################# Constructed PATH variable #################################