命令行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