How to ensure that /bin takes priority over System32 with "bash -c"?
Sat Oct 31 13:16:13 GMT 2020
I have Cygwin's /bin directory configured to be available on my login
environment PATH by default. This behavior is inherited when I run a
bash login shell:
$ where sort
But if I run the following script from a Windows command prompt:
C:\> bash -c "where sort"
This creates problems when I want to run a bash script from a process
that does not inherit my login environment. Scripts can fail
unexpectedly where identically named binaries from System32 take
I can't always know what binaries exist in C:\Windows\System32 when
writing my scripts. Am I supposed to always launch scripts as "bash
--login -i -c"? I don't want or need to have bash run all of its login
How can I run my bash scripts without invoking it as a login shell and
ensure that /bin has the environment priority over System32 binaries?
More information about the Cygwin