Ich versuche, ARM-Code in Ubuntu 12 zu kompilieren.
Alles funktioniert gut, wenn ich den Code in das lokale Verzeichnis lege.
Aber wenn ich den Code in das angegebene Mount-Verzeichnis stecke, wird ein Fehler angezeigt:
making testXmlFiles
sh: 0: getcwd() failed: No such file or directory
ARM Compiling xxxxx.c
sh: 0: getcwd() failed: No such file or directory
Hier ist meine Einstellung in 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
Was geht hier vor sich? Was könnte diesen Fehler verursachen?
linux
ubuntu
ubuntu-12.04
getcwd
CrazyKitty Rotoshi
quelle
quelle
mkdir ~/myfunnydir && cd ~/myfunnydir
in Terminal B:rm -rf ~/myfunnydir
und schließlich zurück in Terminal A wieder:java --version
)/root
. Ein normaler Benutzer kann es nicht bereitstellen, da die Anmeldeinformationen für ihn nicht lesbar sind. Versuchen Sie, es als nicht automatisches Mounten zu erstellen, und lassen Sie es von Root mounten.Antworten:
Dieser Fehler wird normalerweise durch Ausführen eines Befehls aus einem nicht mehr vorhandenen Verzeichnis verursacht.
Versuchen Sie, Ihr Verzeichnis zu ändern, und führen Sie den Befehl erneut aus.
quelle
getcwd
Ruft das aktuelle Arbeitsverzeichnis ab und wenn das Verzeichnis gelöscht oder verschoben wird, ist es unglücklich! Siehe Linux-Handbuch für getcwdVersuchen Sie den folgenden Befehl, es hat bei mir funktioniert.
quelle
cd;
Normalerweise gelangen Sie in das Ausgangsverzeichnis undcd -
zurück in das Verzeichnis, in dem Sie sich kurz vor dem aktuellen Verzeichnis befanden. Im Grunde genommen gehen Sie zum Home-Verzeichnis und kehren zurück. Wenn jedoch das ursprüngliche Verzeichnis, in dem Sie sich befanden, gelöscht wird, funktioniert dies nicht.Das ist mir auch in einem neu erstellten Verzeichnis passiert. Das Verzeichnis ist das gleiche, aber damit es wieder funktioniert, führen Sie einfach Folgendes aus:
quelle
Dies kann manchmal mit Symlinks passieren. Wenn dieses Problem auftritt und Sie wissen, dass Sie sich in einem vorhandenen Verzeichnis befinden, sich Ihr Symlink jedoch möglicherweise geändert hat, können Sie den folgenden Befehl verwenden:
quelle
In Ubuntu 16.04.3 LTS funktioniert der nächste Befehl für mich:
Dann habe ich mich wieder angemeldet.
quelle
Bitte überprüfen Sie den Verzeichnispfad, ob vorhanden oder nicht. Dieser Fehler tritt auf, wenn der Ordner nicht vorhanden ist, von dem aus Sie den Befehl ausführen. Wahrscheinlich haben Sie einen Befehl zum Entfernen aus demselben Pfad in der Befehlszeile ausgeführt.
quelle
In meinem Fall hat nichts oben funktioniert. Nachdem ich meinen Kopf eine Weile gegen die Wand geschlagen habe, habe ich herausgefunden, dass ich die
/etc/passwd
Einträge zerstört habe, indem ich ein maßgeschneidertes Linux-Server-Setup-Bash-Skript ausgeführt habe, das zuvor gut funktioniert hat, aber diesmal die Regex darin Der Befehl "sed" löschte alle vorhandenen Einträge: D Nachdem ich die Standardeinträge von einem anderen funktionierenden Linux-Server kopiert und eingefügt hatte, konnte ich sshd endlich neu starten.Vergessen Sie also nicht, die Originaldatei zu sichern,
/etc/passwd
bevor Sie Regex-Ersetzungen darauf anwenden :)quelle
Sogar ich hatte das gleiche Problem mit Python Virtualenv. Es wurde durch einen einfachen Neustart behoben
quelle