2

命令行外壳

echo %PIG_HOME%
C:\cygwin\usr\lib\pig

赛格温

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>

赛格温

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

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

3 回答 3

2

与 Cygwin 一起,

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

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

此设置是设计使然。

C:\cygwin\usr\lib文件夹不是由任何包创建的,也不应该由您创建。

于 2013-04-14T00:16:40.177 回答
0

mount在您的终端窗口中输入。

我的c:\cygwin\binc:\cygwin\lib\分别安装在/usr/bin/usr/lib。我怀疑你c:\cygwin\usr\lib的安装在/usr/lib.

因此,“unix”路径c:\cygwin\usr\lib\pig将是/usr/lib/pig.

于 2013-04-14T01:15:01.633 回答
0

您是否尝试过选项“-m,--mixed : 像--windows,但使用常规斜杠 (C:/WINNT)”

$ cd /cygdrive/c/cygwin64/home
$  cygpath -m $(pwd)
C:/cygwin64/home
于 2019-12-18T08:37:56.187 回答