防止git bash自动更改路径

Shi*_*ang 5 git path git-bash

当我在 git bash 中运行一些代码时,我发现路径自动更改了。

$ python src/loon/skeleton.py  upload ~/test.R /tmp -v
[2019-11-03 10:41:07] INFO:__main__:Starting loon...
[2019-11-03 10:41:07] INFO:__main__:Upload command is detected.
=> Starting upload...

[2019-11-03 10:41:07] INFO:__main__:Running scp -pr -P 22 C:/Users/Administrator/test.R wangshx@10.15.22.110:C:/Users/ADMINI~1/AppData/Local/Temp/
scp: C:/Users/ADMINI~1/AppData/Local/Temp/: No such file or directory
[2019-11-03 10:41:08] INFO:__main__:Status code: 1
Error: an error occurred, please check the info!
Run Code Online (Sandbox Code Playgroud)

/tmp这是远程主机上的路径。可以看到/tmp已经改为C:/Users/ADMINI~1/AppData/Local/Temp/. 我无法通过 add'或 来阻止它"

$ python src/loon/skeleton.py  upload ~/test.R '/tmp' -v
[2019-11-03 10:43:17] INFO:__main__:Starting loon...
[2019-11-03 10:43:17] INFO:__main__:Upload command is detected.
=> Starting upload...

[2019-11-03 10:43:17] INFO:__main__:Running scp -pr -P 22 C:/Users/Administrator/test.R wangshx@10.15.22.110:C:/Users/ADMINI~1/AppData/Local/Temp/
scp: C:/Users/ADMINI~1/AppData/Local/Temp/: No such file or directory
[2019-11-03 10:43:19] INFO:__main__:Status code: 1
Error: an error occurred, please check the info!
Run Code Online (Sandbox Code Playgroud)

Byo*_*ob 8

这是因为 Git-Bash 试图提供帮助,并将 Linux 路径转换为 ​​Windows 等效路径。

如果您添加MSYS_NO_PATHCONV=1到命令的开头,它将告诉 git-bash 不要替换/tmp为您的Temp目录。您的命令将如下所示:

MSYS_NO_PATHCONV=1 python src/loon/skeleton.py upload ~/test.R /tmp -v

该解决方案基于另一个问题