ज्यादातर OS मैक OSX के लिए टर्मिनल रिटर्न नहीं मिला


16

मैं वास्तव में मैक ओएसएक्स और यूनिक्स आधारित प्रणालियों के लिए नया हूं। मैं अपने मैक मिनी पर कुछ विंडोज गेम्स चलाना चाहता था इसलिए मैंने वाइन और मैकपोर्ट्स को स्थापित करना शुरू किया।

ऐसा करने के बाद, मैंने टाइप किया sudo port install wineऔर टर्मिनल को एक त्रुटि नहीं मिली। मैंने अन्य मूलभूत आदेशों की कोशिश की जैसे sayऔर clearउन सभी में त्रुटि नहीं मिली। मैंने इसे देख लिया है और मुझे अब तक समझ में आ गया है कि पथ गलत तरीके से सेट हो सकता है। इसलिए मैंने यह कमांड चलाई: echo $PATHऔर इसने इसे लौटा दिया:

/ Opt / स्थानीय / बिन: / opt / स्थानीय / sbin: / opt / स्थानीय / बिन: / opt / स्थानीय / sbin: / opt / स्थानीय / बिन

क्या कोई मुझे बता सकता है कि इस रास्ते को सही तरीके से कैसे सेट किया जाए? मैं एक पूर्ण नौसिखिया हूँ MAC और पता नहीं कहाँ है .bash_profile या उन फ़ाइलों में से कोई भी हैं। यदि यह मदद करता है, तो मैंने Xcode और Xcode के कमांड लाइन टूल भी इंस्टॉल किए हैं। मैं माउंटेन लायन चला रहा हूं।


3
दुर्भाग्य से मुझे लगता है कि आपको यूनिक्स पर एक ट्यूटोरियल की आवश्यकता है, हालांकि हम इस सवाल का जवाब दे सकते हैं कि हम शायद इसे समझने में आपकी मदद करने के लिए पर्याप्त पृष्ठभूमि प्रदान नहीं कर सकते। शराब के रूप में - सबसे आसान है क्रॉसओवर (लागत) या विन्सकिन (मुक्त) की कोशिश करें जो टर्मिनल उपयोग की आवश्यकता नहीं है
user151019

जवाबों:


12

$ PATH में ये फ़ोल्डर होने चाहिए /usr/bin:/usr/sbin:/bin:/sbin:।

प्रयास करें संपादन ~/.bash_profile, ~/.profileया ~/.bash_login(उदाहरण के लिए /usr/bin/open ~/.bash_profile -a TextEdit) और किसी भी लाइनों पथ को संशोधित कि बाहर टिप्पणी।

अगर वह काम करता है, आप की तरह एक पंक्ति जोड़ सकते हैं export PATH=/opt/local/bin:/opt/local/sbin:$PATHकरने के लिए ~/.bash_profile


मैंने PATH = / usr / bin: / bin: / usr / sbin: / sbin: / usr / local / bin को निर्यात करने की कोशिश की और यह काम करता है लेकिन एक बार जब मैं टर्मिनल को बंद और फिर से खोल देता हूं, तो वह फिर से उसी त्रुटि पर वापस जाता है। मैं एक पूर्ण noob हूं और मुझे पता नहीं है कि ~ / .bash_profile या उनमें से कोई भी फाइल स्थित है। मैं मान रहा हूँ कि वे छिपे हुए हैं?
जैक कोपलैंड

~/होम फोल्डर है ( /Users/username/)। एक अवधि के साथ शुरू होने वाली फाइलें छिपी हुई हैं, लेकिन आप उन्हें उदाहरण के साथ दिखा सकते हैं ls -la
Lri

मेरे .bash_profile में ये सभी पहले से ही हैं, लेकिन मेरे पास अभी भी इसी तरह की कमांड है जैसे कि ng या mssql जब मैं उन्हें टर्मिनल से जारी करता हूं
dbnex14

3

इसी तरह की समस्या मेरे लिए हो रही थी, इसलिए मैंने जो किया वह था:

1) PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"अस्थायी रूप से काम करने के लिए टर्मिनल में निर्यात टाइप करना

2) टाइप करके bash_profile का संपादन /usr/bin/open ~/.bash_profile -a TextEdit

3) जब मैंने अपनी bash_profile फ़ाइल खोली तो मुझे महसूस हुआ कि अंतिम पंक्ति निर्यात कुछ अजीब प्रतीकों के साथ वास्तव में गन्दा लग रहा है, इसलिए मैंने इसे देखा नहीं export PATH=/opt/local/bin:/opt/local/sbin:$PATH

मैं इस पर एक बिल्कुल शुरुआत कर रहा हूं, लेकिन मैं एसई पर विभिन्न प्रश्नों के समाधान पढ़कर उन चरणों को प्राप्त करने में कामयाब रहा, इसलिए आशा है कि यह किसी और की मदद कर सकता है।


2

ऐसा लगता है कि आप अपने रास्ते को खत्म कर देते हैं बल्कि फिर इसे जोड़ते हैं।

सुनिश्चित करें कि जब आप अपना पैट सेट करते हैं तो आप "${PATH}"अपने मौजूदा रास्ते को भी शामिल करते हैं।

डिफ़ॉल्ट रूप से $ PATH एक दो फाइलों में सेट है। तकनीकी रूप से आपको अपनी $ PATH को अपने होम निर्देशिका में .bash_profile फ़ाइल में जोड़ना चाहिए।

एक सुझाव अगर आप अपने पेट में उन्हें जोड़ने से पहले एक निश्चित फ़ोल्डर मौजूद है की जाँच करने के लिए।

उदाहरण के लिए मेरे पास है:

if [ -d /usr/local/bin ] ; then
    PATH=/usr/local/bin:"${PATH}"
fi

if [ -d /usr/local/mysql/bin ] ; then
    PATH=/usr/local/mysql/bin:"${PATH}"
fi

if [ -d /opt/local/bin ] ; then
    PATH=/opt/local/bin:"${PATH}"
fi

if [ -d /opt/local/sbin ] ; then
    PATH=/opt/local/sbin:"${PATH}"
fi

if [ -d ~/bin ] ; then
    PATH=~/bin:"${PATH}"
fi

( -d directoryयदि निर्देशिका मौजूद है, तो यह देखने के लिए कमांड चेक करती है)


1

मेरे लिए मैं इस सटीक मुद्दे पर आ गया जब मैंने अपने में एक गलत एक्सपोर्ट कमांड का उपयोग करके एक नई निर्देशिका को जोड़ने का प्रयास किया ~/.bash_profile। दोनों उदाहरण नीचे।

export PATH=/some/new/path:PATH (incorrect, note missing $)

बनाम

export PATH=/some/new/path:$PATH (correct)

0

इसके उत्तर को ठीक करने के अलावा, मैं परीक्षण के लिए एक बात कहूंगा।

यदि आपकी वर्तमान विंडो में खराब पैठ चर है और आपका सिस्टम अधिक टूटा हुआ नहीं है, तो आप आसानी से रास्ता ठीक कर सकते हैं:

echo $PATH
/usr/libexec/path_helper

ऊपर दिए गए दोनों कमांड के आउटपुट की तुलना करें। यदि आप "सुरक्षित" पथ पर लौटना चाहते हैं, तो बस path_helperउस टर्मिनल में उपलब्ध कराई गई लाइन को कॉपी और पेस्ट करें । एक अनमॉडिफाइड मैक 10.11 सिस्टम पर, आपको सहायक उपकरण से यह आउटपुट प्राप्त करना चाहिए:

PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"; export PATH;

यदि आपके मार्ग को अनुकूलित करने की आवश्यकता है, तो इस प्रश्न पर भी उत्कृष्ट उत्तरों को देखें।


1
या आप PATH=$(/usr/bin/getconf PATH)वर्तमान शेल में उपयोग करने योग्य पथ प्राप्त करने के लिए जारी कर सकते हैं । /usr/localएक unmodified सिस्टम पर मौजूद नहीं है।
fd0

बहुत बढ़िया @fdo - मुझे इस बात की जानकारी नहीं है कि गेटकॉफ़ में क्या गड़बड़ हो सकती है, इसलिए यह सिर्फ हार्ड कोडिंग चीजों के रूप में अच्छा हो सकता है। यह मेरे "जानवर बल" से भी कम है।
bmike

path_helperPATH को वर्तमान PATH, /etc/pathsफ़ाइल, और किसी भी फ़ाइल से बनाता है /etc/paths.d। यह किसी भी PATH सेटिंग से प्रभावित हो सकता है /etc/launchd.confgetconfसिस्टम को PATH हार्ड कोडित कर्नेल में प्रिंट करता है- sysctl user.cs_path
fd0

0

आपके टर्मिनल का / .bash_profile अधिलेखित हो सकता है।

export PATH=/usr/bin:/bin:/usr/sbin:/sbin/usr/local/binवर्तमान पैट सेटिंग्स को अस्थायी रूप से फिर से लिखने के लिए टर्मिनल में उपयोग करें । यह आपको पहुंच प्रदान करेगा sudoऔर nanoजिसे आप तब उपयोग करेंगे nano .bash_profile। मेरे लिए, फ़ाइल में सब कुछ हटाने का काम किया।

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