Saya mencoba mengkompilasi kode ARM di Ubuntu 12.04.
Semuanya berfungsi dengan baik ketika saya meletakkan kode saya di direktori lokal. Tetapi ketika saya meletakkan kode di direktori mount yang dikutip kesalahan ini terjadi:
sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory
Ini adalah perintah mount saya:
sudo mount -t cifs -o username=wx,passwd=wx,auto,nounix,noserverino,file_mode=0777,dir_mode=0777,uid=user,gid=users,noperm,rw,uid=1002,gid=1002 //192.165.54.18/prj_9330 /home/dongjw/work_dir/work_9330
Saya menggunakan Ubuntu 12.04 64bit
Apa yang menyebabkan kesalahan ini?
cd [PATH]
shell Anda untuk pergi ke yang sudah ada.Jawaban:
Saya mendapat kesalahan ini menggunakan jshint melalui subproses python di Ubuntu 12.10 64 bit.
Ini disebabkan karena Anda menghapus atau memindahkan direktori dari bawahnya dan direktori saat ini tidak dapat ditentukan.
Bagaimana cara mengetahui apakah Anda mengalami masalah ini:
Jalankan perintah
cd .
(Jika Anda mendapatkan kesalahan ini maka Anda memiliki masalah ini).Anda mencoba mengubah direktori menjadi dir Anda saat ini, dan tidak bisa.
Cara mereproduksi kesalahan:
jshint dipengaruhi oleh kesalahan ini. Buat direktori
foo
, masukkan ke dalamnya, buat file bernamamyjavascript.js
jshint berjalan dengan benar, katanya tidak ada kesalahan yang benar.
Buka terminal ke-2, dan
rm -rf
direktori/home/el/foo
keluar dari bawah.Jalankan
jshint myjavascript.js
lagi dari terminal pertama Anda dan Anda mendapatkan kesalahan:Direktori hilang! Dan bahkan jika Anda menggantinya dengan konten yang sama, ia memiliki tanda tangan yang berbeda dan terminal tidak dapat pulih, metode
getcwd
ini tidak dapat mengetahui apa direktori saat ini.Tiga solusi:
Terminal bingung tentang apa direktori saat ini karena hilang atau tanda tangannya telah berubah. Lakukan salah satu dari ini untuk memperbaikinya:
Jalankan perintah
cd ..
sampai Anda berhenti mendapatkan kesalahan. Ini menyinkronkan terminal dengan sistem file. Kemudian cd kembali ke direktori Anda. Coba lagi. Kesalahan hilang.Gunakan
su youruser
di terminal, masukkan kata sandi. Ini menyegarkan dan membawa Anda kembali ke direktori yang sama.Tutup dan buka kembali terminal yang membuang tanda tangan direktori basi. Atau kirim nastymail ke program apa pun (jshint) atau ribuan program lain yang tidak dapat mentolerir atau memulihkan dari tanda tangan direktori basi.
sumber
cd ..
"cukup sering" Anda juga bisacd ~
langsung ke homefolder AndaSaya mendapatkan kesalahan yang sama, tetapi saya mencoba menjalankan skrip di direktori home saya. Saya menyelesaikannya dengan:
pushd ~ 1>/dev/null; pwd ; popd 1>/dev/null
Ini memindahkan saya ke direktori rumah saya, kemudian menjalankan pwd (tetapi Anda dapat menjalankan apa pun yang Anda suka) dan kemudian popd memindahkan saya kembali ke tempat saya sebelumnya. Jika Anda tidak perlu pindah saat itu
cd; pwd
Akan cukup untuk menyelesaikan masalah saya, (Saya harap ini membantu masalah Anda.)
mengedit The
1>/dev/null
bagian yang opsional; Saya menambahkan mereka sehingga saya dapat menggunakan baris di atas dalam skrip shell tanpa output tambahan yang tidak diperlukan dalam kasus ini.sumber
Bahkan saya mengalami masalah yang sama dengan python virtualenv. Itu diperbaiki dengan restart sederhana
sumber
cd
ke direktori yang ada.