如何防止MSYS为pscp转换远程文件路径

How to prevent MSYS from converting remote file path for pscp

我在 Windows 上使用 msys2 bash 4.3.26 (i686-pc-msys),最近我发现它破坏了我的 pscpscp (msys1):

当我运行pscp req.py hostname:/home/user/xxx/yyy/:

这很烦人,我必须打开 cmd.exe 才能使用 pscp。有什么方法可以防止 MSYS 2 转换特殊参数吗?

顺便说一句,这个问题只发生在那些不使用 msys2 DLL 的 .exe 文件上。如何检查这种差异?

MSYS2 将 POSIX-style 路径名转换为 Windows-style 路径名,当它检测到您正在 运行ning 本地 Windows 程序(如 pscp)时。这些转换使用了很多启发式方法,有时他们会得到错误的答案。

您可以通过在 运行 命令时设置 MSYS2_ARG_CONV_EXCL 环境变量来禁止某些参数的转换。它是 MSYS2 不应尝试转换路径的参数前缀列表。您可以将变量设置为空字符串以关闭所有转换。但是,您可能需要转换 pscp 的第一个参数,因为它是本地计算机上的路径。所以你应该尝试 运行 像这样使用你的命令:

MSYS2_ARG_CONV_EXCL=hostname pscp req.py hostname:/home/user/xxx/yyy/