2017-10-05 89 views
0

我在Windows上运行bash,我无法弄清楚为什么会发生这种情况。为什么envsubst替换/

我有一个变量,如 export SOCKET=/socket然后当我运行echo '$SOCKET' | envsubst我得到C:/Program Files/Git/socket。出于某种原因,它正在取代斜线。

任何想法为什么会发生这种情况?如果我查看printenv的输出,那么Git在路径中唯一的环境变量是EXEPATH=C:\Program Files\Git

+2

您的'envsubst'实现似乎将替换绝对路径名,无论虚拟文件系统'bash'看到“真实”Windows路径。 – chepner

回答

0

当我读到@ chepner关于路径损坏的评论时,意识到这可能与bash在Windows上进行路径转换有关。

然后我试着设置MSYS_NO_PATHCONV=1这应该是防止路径转换,现在它工作正常。谢谢!