"-बैश: एलएस: कमांड नहीं मिला"


30

मैंने ओएस एक्स लायन (10.7) में सबसे हालिया अपडेट इंस्टॉल किया। मैंने ऐसा करने के बाद, मेरे टर्मिनल को सामान्य आदेशों को नहीं पहचाना। मैंने टाइप किया lsऔर पा लिया:

-bash: ls: command not found

मुझे लगा कि मैं usr / bin को अपने पथ में जोड़ने का प्रयास करूंगा, लेकिन टाइप करने edit .bash_profileसे काम नहीं चलेगा , मैं इसे संपादित करने के लिए .bash_profile नहीं ढूँढ सकता । मैं सभी फाइल्स दिखाने के लिए फाइंडर सेट नहीं कर सकता क्योंकि मेरा टर्मिनल ऐसा करने के लिए आवश्यक कमांड को नहीं पहचान पाएगा।

मुझे क्या करना चाहिये?


2
आइए एक रास्ता निकालें और देखें कि क्या हिलाता है। export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/binअंधेरे भाग को पेस्ट करें (या इसे बहुत आसानी से टाइप करें) - चूंकि दो कमांड गायब हैं - कुछ ने आपके रास्ते को बर्बाद कर दिया। कुछ भी बड़ा करने से पहले, बैकअप को बंद करना विवेकपूर्ण हो सकता है।
bmike

1
@ धन्यवाद! जोड़ा गया है कि .bash_profile और अब यह सब काम कर रहा है। इस तरह .bash_profile को खोलना पड़ा: /usr/bin/vi ~/.bash_profileएक उत्तर के रूप में रखो और मैं स्वीकार कर सकता हूं!
लक्जमोड

जवाबों:


42

चूँकि दो आज्ञाएँ आपके पथ को "स्टम्प्ड" कर रही हैं।

कुछ भी बड़ा करने से पहले, बैकअप को बंद करना विवेकपूर्ण हो सकता है।

Mac OS X 10.7 (शेर) पर डिफ़ॉल्ट पथ कुछ इस तरह है:

PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

यदि आप उपरोक्त को शेल विंडो में टाइप करके पथ को रीसेट करते हैं, और फिर export PATHइसे टाइप करके उस एक विंडो को ठीक करना चाहिए।

तो आप वहां से शुरू कर सकते हैं और देख सकते हैं कि और क्या हो सकता है और इसे अपने स्टार्टअप डॉट फाइल्स या अन्य जगहों पर ठीक कर लें।

यह टूटना लगभग हमेशा कुछ है जो आपको अपने डॉट फ़ाइलों में ठीक करने की आवश्यकता है। बैश के लिए, संपादित करें और ठीक करें .bash_profileऔर / या .bashrcहाल के बदलाव को पूर्ववत करके केवल $ PATH को फिर से सेट करें जो आपको फिर से चाहिए। सामान्य त्रुटि एक नया रास्ता बता रही है और = के दाहिने हाथ पर चर के पिछले मूल्य का जिक्र नहीं है


2
मेरे लिए, यह एक अस्थायी सुधार प्रदान करता है।
एटिएन लो-डेकेरी

2
धन्यवाद! जब 😂ls.bash_profile
एड्रियन

हाँ @Adrian में सिंटेक्स त्रुटि या खाली पथ गहन चिंता का कारण बन सकती 😅🤭🤬🔥
bmike

इसने एक अस्थायी सुधार दिया। एक बार CMD
पवन

यह अभी भी मैक ओएस 10.14.3 के लिए काम करता है
स्टीफन रोमेरो

11

यह समस्या को पूरी तरह और स्थायी रूप से ठीक करना चाहिए।

टर्मिनल में नीचे कमांड का उपयोग करके पहले, निर्यात पर्यावरण पथ।

export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/b‌​in

अब आपके पास आपके इच्छित आदेश हैं। (जैसे। कोशिश करें ls। आप देखेंगे कि कमांड काम कर रहा है)। लेकिन यह केवल वर्तमान सत्र के लिए है। यदि आप टर्मिनल बंद करते हैं और एक नया खोलते हैं, तो आपके पास पिछला मुद्दा होगा। इस परिवर्तन को स्थायी बनाने के लिए, कमांड के नीचे का उपयोग करें,

घर निर्देशिका के लिए जाओ

cd ~

नैनो / vim में .bash_profile फ़ाइल खोलें (मैं यहाँ नैनो का उपयोग कर रहा हूँ)

nano .bash_profile

इससे नैनो एडिटर खुल जाएगा। एक नई पंक्ति में, निम्नलिखित पेस्ट करें;

export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:$PATH

नैनो से बाहर निकलने के लिए (WriteOut) और 'कंट्रोल' + 'x' को बचाने के लिए 'कंट्रोल' + 'ओ' दबाएं।

सब कुछ कर दिया ! अब आज्ञाओं का प्रयास करें।


3

यह मुझे लगता है जैसे /etc/profileशेल स्टार्टअप पर नहीं चलाया गया था। यह PATH को शुरू करने के लिए जिम्मेदार वैश्विक स्टार्टअप फ़ाइल है। जाँच करें कि क्या /etc/profileमौजूद है और निम्नलिखित कमांड के साथ पठनीय और निष्पादन योग्य है:

. /etc/profile

यदि यह नहीं है, तो आपको एक बैकअप या किसी अन्य मशीन से शेर को स्थापित करने, या फिर से शेर स्थापित करने की आवश्यकता होगी। यदि यह मौजूद है, लेकिन निष्पादन योग्य नहीं है, तो डिस्क उपयोगिता की मरम्मत डिस्क अनुमतियों का उपयोग करने का प्रयास करें।

यदि यह मौजूद है और निष्पादन योग्य है (और इसमें कुछ कोड शामिल हैं), या तो इसे तब नहीं चलाया जा सकता है जब यह माना जाता है या आपकी स्टार्टअप स्क्रिप्ट किसी तरह से इसे ओवरराइड कर रही है। वर्कअराउंड के रूप में, इसे चलाने के लिए . /etc/profileअपने शुरुआत में डालने का प्रयास ~/.bash_profileकरें। यदि आप अभी भी समस्या का सामना कर echo $PATHरहे हैं, तो इसे चलाने के बाद यह देखने के लिए जोड़ें कि क्या PATH ठीक से आरंभीकृत किया गया था। अगर ऐसा था, तो आपकी स्क्रिप्ट में कुछ इसे बदल रहा है।

यहाँ की डिफ़ॉल्ट सामग्री है /etc/profile:

# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
    eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
    [ -r /etc/bashrc ] && . /etc/bashrc
fi

path_helperडिफ़ॉल्ट पथ का निर्माण करता है। आप दौड़ने की कोशिश कर सकते हैं

unset PATH; /usr/libexec/path_helper -s

यह देखने के लिए कि यह क्या उत्पादन करता है।

किसी भी स्थिति में, यदि समस्या आपके स्टार्टअप स्क्रिप्ट में नहीं है, तो कृपया Apple सपोर्ट से संपर्क करें http://www.apple.com/support/contact/ या https://bugreport.apple.com पर बग की रिपोर्ट करें। / Apple को यह बताने के लिए कि कोई समस्या है।


unset PATH; /usr/libexec/path_helper -sमुझे पाथ दिखाता है जो मेरे में निहित नहीं है /etc/profile। कोई सुझाव?
इटियेन लो-डेकेरी

रनिंग . /etc/profileअस्थायी रूप से समस्या को ठीक करता है। मैं अपने सबसे ऊपर चला गया हूं ~/.bash_profile, लेकिन ऐसा प्रतीत होता है कि यह चलाया नहीं गया है।
एटिने लो-डेकेरी

1
स्टार्टअप फ़ाइलों की पूरी सूची और जिस क्रम में उन्हें खोजा गया है, उसके लिए बैश मैन पेज देखें। यदि आपके पास एक लॉगिन फ़ाइल है, तो यह उदाहरण के लिए प्रोफ़ाइल पर पूर्वता लेता है। अन्य स्टार्टअप फ़ाइलों के लिए जाँच करें।
क्रिस पेज

1

यह जाँचने के लिए कि यह वास्तव में आपके रास्ते की समस्या है, इसका परिणाम क्या है /bin/ls?

यदि यह काम करता है, तो आपको अपने पथ को पुनर्स्थापित करना चाहिए /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin, आप उदाहरण के लिए VIजिसका पथ है (मेरे मैक पर) उपयोग कर सकते हैं /usr/bin/vi


0

मैंने उस गलती को साझा करने के बारे में सोचा जिसने मुझे इस त्रुटि के लिए प्रेरित किया - कम से कम मेरे मामले में,

जब मैं एक नया जोड़ा PATHमें ~/.bash_profile, मैं जोड़ने के लिए भूल गया :$PATHरास्ता है कि मैं हाल ही में जोड़े के अंत में।

मैंने अस्थायी फ़िक्स (टर्मिनल में निम्नलिखित कमांड) का उपयोग किया है जो यहाँ के स्वामी पहले से ही bash_profile पर वापस लाने के लिए इशारा कर चुके हैं क्योंकि मैं पहली बार इसे खोलने के लिए vi कमांड्स का उपयोग नहीं कर सका।

export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

एक बार जब मैं अंदर आ गया, मैंने अपनी गलती को सुधार लिया।

(नकारात्मक डेटा मायने रखता है)


-1

मैं अपने मावेन पथ को वैरिएबल वेरिएबल्स में सेट करने की कोशिश कर रहा था जब ऐसा हुआ। इसलिए मैंने अभी-अभी अपनी .profile और .bash_profile फ़ाइल को रद्दी में स्थानांतरित किया और फिर से कोशिश की और यह काम कर गया।


-1

अपने टर्मिनल को रीसेट करना काम करेगा। यह आपके मूल कॉन्फ़िगरेशन को रीसेट करेगा।

अपने टर्मिनल को रीसेट करें। शीर्ष नेविगेशन से शैल >> रीसेट पर जाएं।

यहाँ छवि विवरण दर्ज करें


1
टर्मिनल को रीसेट करने से कोई समस्या कैसे हल होती है bash?
nohillside

-2

ऐसा लगता है कि आपका पथ परिवर्तनशील है। अगर किसी भी संयोग से आप अपनी स्क्रिप्ट के भीतर पाथ चर को संशोधित कर रहे हैं या केवल $ पाथ कहकर पाट की जाँच करें और यदि कुछ भी भ्रष्ट नहीं है, तो आप यह सुनिश्चित कर सकते हैं।


-3

आप निम्नानुसार पथ निर्यात कर सकते हैं:

निर्यात पथ = $ पथ: / बिन: / usr / स्थानीय / बिन


3
अलग पूछने के लिए आपका स्वागत है! इस प्रश्न का पहले से ही स्वीकृत उत्तर है और आपका उत्तर स्वीकृत उत्तर की तुलना में भौतिक रूप से भिन्न नहीं है। कृपया एक अच्छा उत्तर प्रदान करने के तरीके के बारे में निम्नलिखित FAQ देखें: apple.stackexchange.com/help/how-to-answer
fsb
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.