2016-05-13 14 views

回答

1

那个shell是Bash。 Cygwin/MSYS2 Bash可以接受Windows路径,但您需要使用空格和反斜杠来处理 。关于反斜线:

program 'C:\alfa.txt' 
program C:\\alfa.txt 
program C:/alfa.txt 

关于空间:

program 'C:\alfa bravo.txt' 
program C:\\alfa\ bravo.txt 
program C:/alfa\ bravo.txt 

正如你所看到的,如果提供的Windows路径,这是相当平直向前 。你可能会得到唯一的问题是,如果你想提供猛砸路径 到Windows原生程序:

program /tmp/alfa.txt 

Windows自带的程序都没有的/tmp甚至/概念。 Cygwin的/ MSYS2有 cygpath在转换这些路径,以帮助:

program $(cygpath -m /tmp/alfa.txt) 
program "$(cygpath -w /tmp/alfa.txt)" 
program "$(cygpath -m '/tmp/alfa bravo.txt')" 
program "$(cygpath -m /tmp/alfa\ bravo.txt)" 
program "$(cygpath -w '/tmp/alfa bravo.txt')" 
program "$(cygpath -w /tmp/alfa\ bravo.txt)" 

旁注:MinGW的是一个旧的项目。你应该使用Cygwin或MSYS2。

+0

如果我想传递的路径中有空格,该怎么办? – Demi

+0

@Demetri看到更新 – 2016-05-13 22:55:00

相关问题