sh:0:getcwd()失败:引用的驱动器上没有这样的文件或目录

Cra*_*shi 184 linux ubuntu getcwd ubuntu-12.04

我正在尝试在Ubuntu 12中编译ARM代码.

当我将代码放在本地目录中时,一切正常.

但是当我把引用的mount目录中的代码错误显示出来时:

making testXmlFiles
sh: 0: getcwd() failed: No such file or directory
ARM Compiling xxxxx.c
sh: 0: getcwd() failed: No such file or directory
Run Code Online (Sandbox Code Playgroud)

这是我在fstab中的设置

//10.0.0.1/data /mnt/data   cifs    auto,noserverino,credentials=/root/.smbcredentials,file_mode=0777,dir_mode=0777,uid=user,gid=users,noperm 0 0
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?什么可能导致此错误?

Hoo*_*man 490

此错误通常是由不再存在的目录运行命令引起的.

尝试更改目录并重新运行该命令.

  • `getcwd`获取当前工作目录,如果删除或移动目录,它将不满意!参见[Linux手册for getcwd](http://linux.die.net/man/3/getcwd) (2认同)
  • 如果您删除了所在的目录并在同一个地方重新创建了一个具有相同名称的目录,您甚至可能必须这样做. (2认同)
  • 我所做的就是点击 cd,然后重新运行命令,它起作用了,谢谢! (2认同)

小智 22

这也发生在我重新创建的目录中,目录是相同的,但要使其再次运行,只需运行:

cd .
Run Code Online (Sandbox Code Playgroud)


Tim*_*ula 11

尝试以下命令,它对我有用.

cd; cd -
Run Code Online (Sandbox Code Playgroud)

  • `cd;` 通常会将您带到主目录,而 `cd -` 将您带回当前目录之前所在的目录。所以基本上你会进入主目录然后再​​回来。但是,如果您所在的原始目录被删除,则此操作将不起作用。 (5认同)

Is *_* Ma 5

在 Ubuntu 16.04.3 LTS 中,下一个命令对我有用:

exit
Run Code Online (Sandbox Code Playgroud)

然后我又登录了。

  • 实际上,切换到现有目录就足够了,正如 Hooman 在他的 [answer](/sf/answers/1511536001/) 中所说的那样 (2认同)

smc*_*nes 5

有时可能会通过符号链接发生这种情况。如果您遇到此问题,并且知道自己在现有目录中,但是符号链接可能已更改,则可以使用以下命令:

cd $(pwd)
Run Code Online (Sandbox Code Playgroud)