将 bash cwd 与生成它的 Powershell 的 cwd 保持在同一目录

问题描述 投票:0回答:1

我有一个 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脚本。

bash powershell pwd
1个回答
0
投票

简单点,使用脚本的绝对路径

C:\msys64\usr\bin\bash -lc '/absolute/path/to/super_duper_script.sh'
© www.soinside.com 2019 - 2024. All rights reserved.