msysgit bash shell认为参数是UNC路径,而不是

时间:2014-10-03 19:41:59

标签: windows git-bash msys

我试图从Git Bash shell调用TFSBuild,但我没有运气。

使用

"$TFSBUILD" start //Collection:http://tfsserver

将第二个参数转换为

//Collection:http://tfsserver

所以参数不起作用,因为它在开头有两个斜杠。

使用

"$TFSBUILD" start /Collection:http://tfsserver

将第二个参数转换为

/Collection:http:/tfsserver

因此该命令将无效,因为已从URL中删除了斜杠。

第一个选项似乎是MSYS Bash thinks the path is a UNC path, so it's not removing the first slash

  

以2或更多/开头的参数被视为转义Windows   样式开关并将通过领先/删除和所有\   变成 /。除非有一个/跟随前导块   /,该参数被认为是UNC路径和前导/是   没有删除。

是否有任何解决方法或任何方法可以关闭此行为?我尝试了各种引号组合,在cmd / c上运行,使用变量,但还没有任何工作。

1 个答案:

答案 0 :(得分:1)

在MSYS2上你可以这样做:

export MSYS2_ARG_CONV_EXCL="//Collection" "$TFSBUILD" start //Collection:http://tfsserver

.. MSYS2_ARG_CONV_EXCL是一个分号分隔的env。 var,MSYS2将每个部分与每个参数的前面进行比较。如果匹配则不转换该参数。 msysGit没有这个功能/实用黑客。