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
,