cygpath неправильно конвертирует путь 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?

ОБНОВИТЬ:

Путь к pig папка правильная.

оболочка командной строки

C:\Users\john.doe> cd %PIG_HOME%
C:\cygwin\usr\lib\pig>

Cygwin

john.doe@COMPUTER ~
$ cd /cygdrive/c/cygwin/usr/lib/pig/

john.doe@COMPUTER /cygdrive/c/cygwin/usr/lib/pig
$

2 ответа

Решение

С Cygwin,

C:\cygwin\lib\pig = /usr/lib/pig

а также

C:\cygwin\usr\lib\pig = /cygdrive/c/usr/lib/pig

Эта настройка разработана.

C:\cygwin\usr\lib папка не создается какими-либо пакетами и не должна быть создана вами.

Вы пробовали опцию "-m, --mixed: как --windows, но с обычными косыми чертами (C:/WINNT)"

$ cd /cygdrive/c/cygwin64/home
$  cygpath -m $(pwd)
C:/cygwin64/home

Тип mount в окне вашего терминала.

мой c:\cygwin\bin а также c:\cygwin\lib\ установлены на /usr/bin а также /usr/lib соответственно. Я подозреваю, что ваш c:\cygwin\usr\lib установлен на /usr/lib,

Таким образом, "Unix" путь к c:\cygwin\usr\lib\pig было бы /usr/lib/pig,

Другие вопросы по тегам