/ cygdrive路径坏了

时间:2014-01-12 06:43:33

标签: cygwin

我的cygwin之前曾经正常工作,但突然间它开始抱怨:/ cygdirve / d下的“文件不存在”......

问题看起来像这样:如果我 cd 到该文件夹​​,我可以看到该文件和 cat / ls afile 没有任何问题,但如果我使用类似< strong> ls / cygdrive / d / afile 它会抱怨文件不存在。

因此在文件系统上向后追溯,发现虚拟路径/ cygdirve存在一些问题

/cygdrive 
cd /cygdrive/
Error: Current working directory is a virtual Cygwin directory which
does not exist for a native Windows application. Can't start native
Windows application from here.

好像这/ cygdrive坏了,有人知道怎么解决吗?

添加更多细节:

$grep cygdrive /etc/fstab
# none /cygdrive cygdrive binary,posix=0,user 0 0

$type -a cd
#cd is a shell builtin

2 个答案:

答案 0 :(得分:2)

如果我执行cd /cygdrive然后尝试执行(非Cygwin)Windows命令,则会收到该错误消息。如果我只是cd /cygdrive,我就不明白。

我能想到的唯一解释是你已经为bash特殊变量$PROMPT_COMMAND分配了一个值。

引用bash文档:

  

'PROMPT_COMMAND'
       如果设置,则该值将被解释为之前执行的命令        打印每个主要提示('$ PS1')。

例如:

$ PROMPT_COMMAND=cmd.exe ; cd /cygdrive
Error: Current working directory is a virtual Cygwin directory which does
not exist for a native Windows application.
Can't start native Windows application from here.

-bash: /cygdrive/c/Windows/system32/cmd.exe: Not a directory

答案 1 :(得分:1)

通过替换移动到正确的目录(例如,如果您在C驱动器中)

 cd /cygdrive

作者

cd c:/cygdrive