我正在使用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:\
。
这可能是挂载顺序的问题吗?
答案 0 :(得分:0)
好的,最后我改变了我的bash脚本。它首先使用pwd
以cygwin表示法获取目录,然后将所有/
转换为\
,最后执行以下替换:s / \ cygwin \(。)/ \ 1:\ /。
为什么从bash脚本执行时cd /cygwin/c/someDir
进入c:\cygwin\c\someDir
而不是c:\someDir
我仍然不确定(我在Windows命令提示符下执行此操作时理解此行为,但不是在bash脚本中。)