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

我试图在Ubuntu 12.04(精确穿山甲)上编译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

下面是我在这个卷中的设置:

//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

这是怎么回事?是什么导致了这个错误?

273271 次浏览

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

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

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

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

试试下面的命令。这对我很管用。

cd; cd -

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

exit

然后我再次登录。

这种情况有时会发生在符号链接中。如果你遇到这个问题,你知道你在一个现有的目录中,但是你的符号链接可能已经改变了,你可以使用这个命令:

cd $(pwd)

我在重新创建的目录上也遇到了这种情况。目录是相同的,但要使它再次工作,只需运行:

cd .

就我而言,之前的答案都不起作用。

在我的头撞到墙上一段时间后,我发现,我已经通过运行一个定制的linux-server-setup-bash-脚本破坏了/etc/passwd条目,这个脚本以前工作得很好,但这次“__abc1”中的正则表达式。命令擦除所有现有的条目

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

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

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

例如:

  • 目前,你在&;mno&;目录(path = abc/def/ghi/jkl/mno .
  • 运行“sudo su"然后删除mno
  • 去&;ghi"目录并删除&;jkl"目录
  • 现在你在&;ghi&;目录(路径abc/def/ghi)
  • 运行“exit"
  • 运行“exit”后,你会得到这个错误
  • 现在你将在&;mno&;(path = abc/def/ghi/jkl/mno)文件夹中。这是不存在的。

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

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