sh: 0: getcwd () विफल: ऐसी कोई फ़ाइल या निर्देशिका नहीं


11

मैं Ubuntu कोड 12.04 में ARM कोड को संकलित करने का प्रयास कर रहा हूं।

जब मैंने स्थानीय निर्देशिका में अपना कोड डाला तो सब कुछ ठीक चल रहा है। लेकिन जब मैंने उद्धृत माउंट निर्देशिका में कोड डाला तो यह त्रुटि होती है:

sh: 0: getcwd() failed: No such file or directory
sh: 0: getcwd() failed: No such file or directory

यहाँ मेरा माउंट कमांड है:

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

मैं Ubuntu 12.04 64 बिट का उपयोग कर रहा हूं

इस त्रुटि का क्या कारण होगा?


1
आपकी कार्य निर्देशिका किसी भी अधिक मौजूद नहीं है। cd [PATH]किसी मौजूदा पर जाने के लिए अपने शेल में टाइप करें।
डेविड फ़ॉस्टर

यहां भी देखें: stackoverflow.com/a/21593371/7111561
derHugo

जवाबों:


7

मैं Ubuntu 12.10 64 बिट पर एक अजगर उपप्रकार के माध्यम से jshint का उपयोग कर यह त्रुटि मिली।

node.js:464
var cwd = process.cwd();
                  ^
Error: ENOENT, no such file or directory
    at Function.resolveArgv0 (node.js:464:23)
    at startup (node.js:51:13)
    at node.js:555:3

यह इसलिए है क्योंकि आपने किसी निर्देशिका को हटा दिया है या उसके नीचे से स्थानांतरित कर दिया है और वर्तमान निर्देशिका निर्धारित नहीं की जा सकती है।

अगर आपको यह समस्या है तो कैसे बताएं:

कमांड चलाएं cd . (यदि आपको यह त्रुटि मिलती है तो आपको यह समस्या है)।

el@apollo:~/foo$ cd .
cd: error retrieving current directory: getcwd: cannot access parent 
directories: No such file or director

आपने निर्देशिका को अपने वर्तमान डायर में बदलने की कोशिश की, और नहीं कर सका।

त्रुटि को पुन: उत्पन्न करने के लिए कैसे:

jshint इस त्रुटि से प्रभावित है। एक डायरेक्टरी बनाएं foo, उसमें सीडी डालें, एक फाइल बनाएंmyjavascript.js

cd /home/el
mkdir foo
cd foo
touch myjavascript.js
jshint myjavascript.js

jshint सही ढंग से चलता है, यह कहता है कि कोई त्रुटि नहीं है जो सही है।

एक दूसरा टर्मिनल खोलें, और नीचे से rm -rfनिर्देशिका /home/el/foo

rm -rf /home/el/foo

भागो jshint myjavascript.jsअपने पहले टर्मिनल से फिर से और आपको एक त्रुटि मिलती है:

el@apollo:~/foo$ jshint myjavascript.js 

    node.js:464
        var cwd = process.cwd();
                      ^
    Error: ENOENT, no such file or directory
        at Function.resolveArgv0 (node.js:464:23)
        at startup (node.js:51:13)
        at node.js:555:3

निर्देशिका चला गया है! और यहां तक ​​कि अगर आप इसे एक ही सामग्री के साथ बदलना चाहते थे, तो इसके पास एक अलग हस्ताक्षर है और टर्मिनल ठीक नहीं हो सकता है, विधि getcwdको पता नहीं चल सकता है कि वर्तमान निर्देशिका क्या है।

तीन समाधान:

टर्मिनल इस बारे में उलझन में है कि वर्तमान निर्देशिका क्या है क्योंकि इसके चले जाने या इसके हस्ताक्षर बदल गए हैं। इसे ठीक करने के लिए इनमें से एक करें:

  1. cd ..जब तक आपको त्रुटियां न हों, तब तक कमांड चलाएँ । यह फिर से फाइल सिस्टम के साथ टर्मिनल को सिंक्रोनाइज़ करता है। फिर वापस अपनी निर्देशिका में सीडी। पुनः प्रयास करें। त्रुटि दूर हो जाती है।

  2. su youruserटर्मिनल में उपयोग करें , पासवर्ड दर्ज करें। यह ताज़ा करता है और आपको उसी निर्देशिका में वापस लाता है।

  3. टर्मिनल को बंद करें और फिर से खोलें जो बासी निर्देशिका हस्ताक्षरों को हटा देता है। या जो भी कार्यक्रम (jshint) या हजारों अन्य कार्यक्रमों के लिए एक nastymail भेजें जो बासी निर्देशिका विज्ञापनों से बर्दाश्त या पुनर्प्राप्त नहीं कर सकता है।


cd .."अक्सर पर्याप्त" चलने के बजाय आप cd ~सीधे अपने होमफ़ोल्डर पर भी जा सकते हैं
derHugo

4

मुझे वही त्रुटि मिलती है, लेकिन मैं अपने होम डायरेक्टरी में स्क्रिप्ट चलाने की कोशिश कर रहा था। मैंने इसे हल किया:

pushd ~ 1>/dev/null; pwd ; popd 1>/dev/null

यह मेरी होम डाइरेक्टरी में जाता है, फिर pwd चलाता है (लेकिन आप अपनी पसंद की कोई भी चीज़ चला सकते हैं) और फिर popd मुझे वापस वहीं ले जाता है जहाँ मैं था। अगर आपको वापस जाने की जरूरत नहीं है

cd; pwd

मेरी समस्या को हल करने के लिए पर्याप्त होगा, (मुझे आशा है कि यह आपके साथ मदद करता है।)

संपादित1>/dev/null भागों वैकल्पिक हैं; मैं उन्हें जोड़ता हूं ताकि मैं अतिरिक्त स्क्रिप्ट के बिना एक शेल स्क्रिप्ट के भीतर उपरोक्त रेखा का उपयोग कर सकूं जो इस मामले में आवश्यक नहीं है।


ताकि मैं इसे बैश स्क्रिप्ट में शामिल कर सकूं और ऐसा आउटपुट न दे पाऊं जो मुझे नहीं चाहिए। मैं एक उत्तर के रूप में पूरा करने की कोशिश करता हूं जितना मैं कर सकता हूं क्योंकि जब मुझे कमांडलाइन-फू मिलता है तो मुझे अपनी आवश्यकताओं में कटौती करना आसान लगता है और मुझे उम्मीद है कि जो कोई भी इसका उपयोग कर रहा है वह मेरे जैसा है।
एलेक्स रॉश

ठीक है, मैंने एक एडिटिंग समझाते हुए जोड़ा है, (हालांकि कुछ को लग सकता है कि मैं उन्हें अंडे चूसना सिखा रहा हूं - जो जानते हैं कि एडिट की जरूरत नहीं है और जो नहीं जानते हैं वे कट-एन-पेस्ट कर सकते हैं, या देख सकते हैं फ़ंक्शन जो सीधे मूल प्रश्न से संबंधित नहीं है।)
एलेक्सएक्स रोच

अफसोस की बात यह है कि :(
Braiam

-1

यहां तक ​​कि मुझे अजगर virtualenv के साथ भी यही समस्या थी। यह एक सरल पुनरारंभ द्वारा सही हो गया

sudo shutdown -r now

2
मुझे नहीं लगता कि आपको इसे ठीक करने के लिए पुनः आरंभ करने की आवश्यकता होगी, बस यहां अन्य उत्तरों का पालन करें, और cdएक मौजूदा निर्देशिका के लिए।
वेजेंड्रिया

यदि आपके पास कोई नया प्रश्न है, तो कृपया प्रश्न पूछें बटन पर क्लिक करके पूछें । इस प्रश्न का लिंक शामिल करें यदि यह संदर्भ प्रदान करने में मदद करता है। - समीक्षा से
N0rbert

1
@ N0rbert यह एक नया प्रश्न नहीं है, यह स्पष्ट रूप से IMHO के वैध (हालांकि निश्चित रूप से इष्टतम नहीं) समाधान का जवाब देने और प्रदान करने का एक प्रयास है।
बाइट कमांडर

@ByteCommander मैंने गलती से इसे क्लिक किया, मुझे क्षमा करें।
N0rbert
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.