Cygpath doesn’t convert Windows path correctly

cygpathcygwin

command line shell

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

Question: why is cygpath not converting it to /cygdrive/c/cygwin/usr/lib/pig?

UPDATE:

The path to the pig folder is correct.

command line shell

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
$

Best Answer

With Cygwin,

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

and

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

This setup is by design.

The C:\cygwin\usr\lib folder is not created by any packages and should not be created by you either.

Related Topic