命令行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
问题:为什么cygpath
没有将其转换为/cygdrive/c/cygwin/usr/lib/pig
?
更新
pig
文件夹的路径是正确的。
命令行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
$
答案 0 :(得分:2)
使用Cygwin,
C:\cygwin\lib\pig = /usr/lib/pig
和
C:\cygwin\usr\lib\pig = /cygdrive/c/cygwin/usr/lib/pig
此设置是设计使然。
C:\cygwin\usr\lib
文件夹不是由任何软件包创建的,也不应由您创建。
答案 1 :(得分:0)
在终端窗口中输入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
。
答案 2 :(得分:0)
您是否尝试过选项“ -m,--mixed:类似于--windows,但带有常规斜杠(C:/ WINNT)”
$ cd /cygdrive/c/cygwin64/home
$ cygpath -m $(pwd)
C:/cygwin64/home