在不更改目录的情况下以正确的路径启动 bash shell (cygwin)

Ben*_*igt 15 cygwin bash environment-variables working-directory

我需要在 cygwin 环境之外运行 cygwin shell 脚本而不更改工作目录。

如果我只运行\path\to\bash.exe -c command,则路径设置不正确并且找不到 cygwin 程序。

如果我使用该--login选项,bash则正确设置路径,但也会更改到我的主目录。

我应该使用哪些选项来启动 bash 以保留当前工作目录,并找到 cygwin 可执行文件?

Ben*_*igt 21

事实证明,cygwin 默认/etc/profile检查命名的环境变量CHERE_INVOKING,如果设置,则禁止更改目录。

所以

set CHERE_INVOKING=1
\path\to\bash.exe -l -c command
Run Code Online (Sandbox Code Playgroud)

具有所需的行为。