Próbuję skompilować kod ARM w Ubuntu 12.
Wszystko działa dobrze, kiedy umieszczam kod w katalogu lokalnym.
Ale kiedy wstawiam kod do cytowanego katalogu montowania, pojawia się błąd:
making testXmlFiles
sh: 0: getcwd() failed: No such file or directory
ARM Compiling xxxxx.c
sh: 0: getcwd() failed: No such file or directory
Oto moje ustawienie w 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
Co tu się dzieje? Co może powodować ten błąd?
linux
ubuntu
ubuntu-12.04
getcwd
CrazyKitty Rotoshi
źródło
źródło
mkdir ~/myfunnydir && cd ~/myfunnydir
w terminalu B:rm -rf ~/myfunnydir
i wreszcie z powrotem w terminalu a znowu:java --version
)/root
. Zwykły użytkownik nie będzie mógł go zamontować, ponieważ poświadczenia nie będą dla niego czytelne. Spróbuj zrobić to jako non-auto mount i pozwól rootowi zamontować.Odpowiedzi:
Ten błąd jest zwykle spowodowany uruchomieniem polecenia z katalogu, który już nie istnieje.
Spróbuj zmienić katalog i ponownie uruchom komendę.
źródło
getcwd
pobiera bieżący katalog roboczy, a jeśli katalog zostanie usunięty lub przeniesiony, będzie niezadowolony! Zobacz Linux Manual dla getcwdWypróbuj następujące polecenie, zadziałało dla mnie.
źródło
cd;
zwykle zabierze Cię do katalogu domowego icd -
zabierze Cię z powrotem do katalogu, w którym byłeś tuż przed bieżącym katalogiem. Zasadniczo idziesz do katalogu domowego i wracasz. Jednak jeśli oryginalny katalog, w którym byłeś, zostanie usunięty, to nie zadziała.Zdarzyło mi się to również w odtworzonym katalogu, katalog jest taki sam, ale aby ponownie go uruchomić, wystarczy uruchomić:
źródło
Czasami może się to zdarzyć z linkami symbolicznymi. Jeśli napotkasz ten problem i wiesz, że jesteś w istniejącym katalogu, ale twoje dowiązanie symboliczne mogło się zmienić, możesz użyć tego polecenia:
źródło
W Ubuntu 16.04.3 LTS następna komenda działa dla mnie:
Potem zaloguję się ponownie.
źródło
Sprawdź ścieżkę katalogu, czy istnieje, czy nie. Ten błąd pojawia się, jeśli folder nie istnieje z miejsca, w którym uruchomiono polecenie. Prawdopodobnie wykonałeś polecenie remove z tej samej ścieżki w wierszu poleceń.
źródło
W moim przypadku nic powyżej nie zadziałało. Po chwili uderzenia głową o ścianę dowiedziałem się, że zniszczyłem
/etc/passwd
wpisy, uruchamiając niestandardowy skrypt linux-server-setup-setup-bash, który wcześniej działał dobrze, ale tym razem wyrażenie regularne polecenie „sed” usunęło wszystkie istniejące wpisy: D Po skopiowaniu wklejonych domyślnych wpisów z innego działającego serwera linux mogłem w końcu ponownie uruchomić sshd.Nie zapomnij więc wykonać kopii zapasowej oryginalnego
/etc/passwd
pliku przed zastosowaniem na nim jakiejkolwiek zamiany wyrażenia regularnego :)źródło
Nawet ja miałem ten sam problem z python virtualenv Zostało to naprawione przez prosty restart
źródło