我的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
答案 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