gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 02:07:49 24 4
gpt4 key购买 nike

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

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

  • msys将第二个参数更改为 hostname;D:\msys\home\user\xxx\yyy\
  • 然后 pscp将报告:ssh_init: Host does not exist
  • 我的 scp来自 msys-1.0(我曾经使用过 git-for-windows 1.9)报告 ssh: Could not resolve hostname hostname;d : no address associated with name

  • 这很烦人,我必须打开 cmd.exe使用 pscp .有什么办法可以防止 MSYS 2 转换特殊参数吗?
  • 我尝试在 ' 中包装一个 arg或 "并失败
  • http://www.mingw.org/wiki/Posix_path_conversion没有帮助但令人失望
  • 环境:Windows 10 Insider x64 和 msys2 i686
  • 官方scp.exemsys2 的同一包中效果很好

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

    最佳答案

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

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

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

    关于filepath - 如何防止 MSYS 为 pscp 转换远程文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41789559/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com