命令行shellcygpath不转换的Windows路径正确
echo %PIG_HOME%
C:\cygwin\usr\lib\pig
cygwin的
echo $PIG_HOME
C:\cygwin\usr\lib\pig
echo $(cygpath -u "$PIG_HOME")
/usr/lib/pig
cd $(cygpath -u "$PIG_HOME")
-bash: cd: /usr/lib/pig: No such file or directory
问:为什么cygpath
不将其转换为/cygdrive/c/cygwin/usr/lib/pig
?
UPDATE:
到pig
文件夹的路径是正确的。
命令行壳
C:\Users\john.doe> cd %PIG_HOME%
C:\cygwin\usr\lib\pig>
cygwin的
[email protected] ~
$ cd /cygdrive/c/cygwin/usr/lib/pig/
[email protected] /cygdrive/c/cygwin/usr/lib/pig
$
事实确实如此。那么,如果cygwin无法理解cygpath输出的路径,我该如何使用cygpath来使用Windows路径? cygwin的目的不是使cygwin的Windows路径可读吗? – ATN
在我的情况下,/ usr/lib/pig实际上会在cygwin中找到该文件。这不是你的情况吗? – stringsn88keys
正如Steven Penny所说,由于mount的模糊结构,'C:\ cygwin \ usr \ lib'不应该被创建:'/ usr/lib \ pig'会指向'C:\ cygwin \ usr \ lib \ pig'和'C:\ cygwin \ lib \ pig',这是一个无法工作的配置,原因很明显(至少有人理解cygdrive是如何挂载的)。因此'/ usr/lib/pig'不适用于我,因为我只有'C:\ cygwin \ usr \ lib \ pig'文件夹,而不是'C:\ cygwin \ lib \ pig'文件夹。 – ATN