![Cygwin 将 Windows 路径转换为 Unix,然后更改目录](https://linux22.com/image/1442838/Cygwin%20%E5%B0%86%20Windows%20%E8%B7%AF%E5%BE%84%E8%BD%AC%E6%8D%A2%E4%B8%BA%20%E2%80%8B%E2%80%8BUnix%EF%BC%8C%E7%84%B6%E5%90%8E%E6%9B%B4%E6%94%B9%E7%9B%AE%E5%BD%95.png)
我通常尝试使用 cygwin 终端移动到嵌套目录。问题是 windows 目录没有立即被解释。
所以我必须采取两个步骤:
$ cygpath -u "C:\Develop\blah\blah\blah\too_deep\"
/cygdrive/c/Develop/blah/blah/blah/too_deep/
$ cd /cygdrive/c/Develop/blah/blah/blah/too_deep/
我需要先转换路径然后粘贴结果来更改它。
我尝试使用重定向,但不起作用。有什么想法吗?
$ cygpath -u "C:\Develop\blah\blah\blah\too_deep\" | cd
=> 没有结果。
答案1
尝试这个:
cd $(cygpath -u'C:\Develop\blah\blah\blah\too_deep\')
$(command) 构造执行命令替换,并替换为命令的输出。
答案2
如果路径包含空格,则需要将其括在双引号中:
cd "$(cygpath -u 'c:\Program Files\')"
答案3
或简单的老式
cd `cygpath --unix "C:\Develop\blah\blah\blah\too_deep\ "`
请注意最后一个反斜杠后的空格。