我有一个 Powershell 会话,它创建 bash 会话来运行这样的脚本
C:\msys64\usr\bin\bash -lc './super_duper_script.sh
其中
super_duper_script.sh
位于 Powershell 会话的 cwd 中。不幸的是,当 bash 会话启动其 cwd 时,它的 cwd 是“/home/username”,而不是 Powershell 会话的 cwd。
这是我迄今为止所取得的成果:
C:\msys64\usr\bin\bash -lc "cygpath -u '$PWD'"
回显 Powershell 会话的 cwd。现在的问题是,设置 bash 会话的 cwd 被证明是一个挑战。这只是我的两次失败的尝试:
C:\msys64\usr\bin\bash -lc "env --chdir=(cygpath -u '$PWD')
C:\msys64\usr\bin\bash -lc "cd {cygpath -u '$PWD'}"
设置.bashrc不是一个选项,因为这个东西是在CI中运行的,而且可以在不同的目录中调用各种bash脚本。
简单点,使用脚本的绝对路径
C:\msys64\usr\bin\bash -lc '/absolute/path/to/super_duper_script.sh'