266

我正在尝试在Ubuntu 12.04 (Precise Pangolin) 上编译 ARM 代码。

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

但是当我将代码放在引用的挂载目录中时,会出现错误:

making testXmlFiles
sh: 0: getcwd() failed: No such file or directory
ARM Compiling xxxxx.c
sh: 0: getcwd() failed: No such file or directory

这是我在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

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

4

8 回答 8

712

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

尝试更改您的目录并重新运行该命令。

于 2014-02-06T03:24:53.900 回答
26

这也发生在我重新创建的目录上。目录是相同的,但要让它再次工作,只需运行:

cd .
于 2018-11-07T10:20:31.017 回答
18

试试下面的命令。它对我有用。

cd; cd -
于 2017-06-19T16:46:17.253 回答
8

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

cd $(pwd)
于 2018-06-25T17:44:23.653 回答
5

Ubuntu 16.04.3 LTS (Xenial Xerus) 中,以下命令适用于我:

exit

然后我又登录了。

于 2017-10-06T03:41:29.403 回答
2

请检查目录路径是否存在。如果您运行命令的位置不存在该文件夹,则会出现此错误。

可能您已经从命令行上的同一路径执行了删除命令。

于 2014-07-30T13:51:53.160 回答
1

如果某个目录/文件夹不存在,但您以某种方式导航到该目录,在这种情况下您会看到此错误。

例如:

  • 当前,您位于“mno”目录中(路径 = abc/def/ghi/jkl/mno
  • 运行“sudo su”并删除 mno
  • 转到“ghi”目录并删除“jkl”目录
  • 现在您在“ghi”目录中(路径 abc/def/ghi)
  • 运行“退出”
  • 运行“退出”后,您将收到该错误
  • 现在您将位于“mno”(路径 = abc/def/ghi/jkl/mno)文件夹中。那是不存在的。

因此,通常当目录不存在时会显示此错误。

要解决这个问题,只需运行“cd;” 或者您可以移动到任何其他存在的目录。

于 2020-10-23T19:14:46.087 回答
0

就我而言,以前的答案都没有奏效。

在将头撞到墙上一段时间后,我发现,我已经/etc/passwd通过运行以前运行良好的定制-linux-server-setup-bash-script 破坏了条目,但这次是内部的正则表达式“ sed ”命令删除了所有现有条目:D

从另一台工作的 Linux 服务器复制粘贴默认条目后,我终于可以重新启动 sshd。

所以不要忘记在应用任何正则表达式替换之前备份原始/etc/passwd文件:)

于 2020-02-22T05:34:39.250 回答