使用正确的路径启动bash shell(cygwin)而不更改目录

使用正确的路径启动bash shell(cygwin)而不更改目录

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

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

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

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

答案1

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

所以

set CHERE_INVOKING=1
\path\to\bash.exe -l -c command

具有所需的行为。

相关内容