/ cygdrive / c的安装解析为C:\ cygdrive \ c

时间:2014-11-30 03:44:50

标签: bash cygwin

我正在使用Cygwin并尝试运行bash脚本,该脚本使用pwd命令构造路径,然后生成目录。问题是该目录是在c:\cygdrive\c而不是c:\下创建的(当我执行cd /cygdrive/c时,我将到达c:\cygdrive\c。这是我当前的坐骑:

C:/cygwin/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin on / type ntfs (binary,auto)
C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
E: on /cygdrive/e type vfat (binary,posix=0,user,noumount,auto)

有人知道错误配置了什么吗?

更新

让我试着让它更清楚(因为所有评论都提到了脚本,但我确定问题不是脚本):我在Windows命令提示符下执行以下操作:

C:\>pwd
/cygdrive/c

C:\>cd /cygdrive/c

C:\cygdrive\c>

但实际上cd应该到达c:\

这可能是挂载顺序的问题吗?

1 个答案:

答案 0 :(得分:0)

好的,最后我改变了我的bash脚本。它首先使用pwd以cygwin表示法获取目录,然后将所有/转换为\,最后执行以下替换:s / \ cygwin \(。)/ \ 1:\ /。

为什么从bash脚本执行时cd /cygwin/c/someDir进入c:\cygwin\c\someDir而不是c:\someDir我仍然不确定(我在Windows命令提示符下执行此操作时理解此行为,但不是在bash脚本中。)