$ PATH सेट करते समय किसी स्थान के साथ कैसे सामना किया जाता है


16

मैं अपने पथ के लिए उदात्त काम जोड़ना चाहता हूं, लेकिन इसमें एक स्थान है।

मैंने स्पष्ट किया है कि आप टर्मिनल में नेविगेट करेंगे (जैसे /Applications/Sublime\ Text\ 2.app/Contents)

export PATH="/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl:$PATH"

लेकिन मुझे अभी भी त्रुटि मिलती है

/Applications/Sublime: No such file or directory

मैं इसका नाम बदल सकता हूं लेकिन मैं उत्सुक हूं कि इसे कैसे हल किया जाए। मैं बैश का इस्तेमाल कर रहा हूं।


कोशिश करो export PATH='/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl:$PATH? इसके अलावा, कि newline इरादा है?
संकोची

नहीं इसकी कोई नई लाइन नहीं है बस उस रास्ते से बाहर निकलता हूं जब मैंने इसे चिपकाया था। आपके सुझाव से कोई मदद नहीं मिली और इसने मेरे रास्ते को मार दिया, इसलिए vi का उपयोग नहीं किया जा सका, वापस बदलने के लिए एक अलग शेल पर स्विच करना पड़ा।
शॉन वाडर

1
demure का सुझाव यह करना चाहिए, लेकिन दोहरे उद्धरण चिह्नों का उपयोग करें: export PATH="/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl:$PATH"अन्यथा $ PATH का विस्तार नहीं किया जाएगा।
19

मैं इसे मूल रूप से दोहरे उद्धरण चिह्नों के रूप में था लेकिन .Bashrc में यह अभी भी पसंद नहीं आया था।
शॉन वदर

क्या आप अधिक सटीक हो सकते हैं? "यह पसंद नहीं आया" से आपका क्या अभिप्राय है? क्या आपको कोई त्रुटि (जो एक) मिलती है? या यह बस काम नहीं किया?
jaume

जवाबों:


15

बैकस्लैश या कोट्स का प्रयोग करें, दोनों का नहीं। आपने अनुक्रम बैकस्लैश-स्पेस को PATHवैल्यू में रखा।

export PATH="/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl:$PATH"

या

export PATH=/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl:$PATH

सुनिश्चित करें कि रेखा को लपेटना नहीं है: यह रिक्त स्थान होना चाहिए, नई लाइनें नहीं।

ध्यान दें कि यदि आपको लाइन /Applications/Sublime: No such file or directoryसे कोई त्रुटि दिखाई देती है export PATH=…, तो आपके पास उस पंक्ति में एक सिंटैक्स त्रुटि है, जैसे बराबर चिह्न के बाद एक स्थान: असाइनमेंट निर्देशिका को देखने का प्रयास नहीं करता है। यदि त्रुटि कुछ बाद के समय में है, तो यह PATH मान के कारण नहीं है, या यदि केवल बहुत ही अप्रत्यक्ष रूप से: यह प्रविष्टियों के $PATHअस्तित्व में नहीं होने के लिए पूरी तरह से ठीक है, और एक गैर-मौजूद निर्देशिका में त्रुटि संदेश नहीं जाएगा ।


4

यदि पथ ठीक से सेट किया गया है .bash_profile, चाहे दोहरे उद्धरण या बैकस्लैश-बच गए और इसमें रिक्त स्थान हैं, तो आपको चर को दोहरे उद्धरण के साथ कॉल करने की आवश्यकता है

उदाहरण के लिए, यदि .bash_profileनीचे की तरह सेट किया गया है:

export SUBLIMEPATH="/Applications/Sublime Text 2.app/Contents"
export PATH=$PATH:$SUBLIMEPATH/SharedSupport/bin/subl

आप नहीं कर सकते कर cd $SUBLIMEPATHवर्तमान निर्देशिका बदलने के लिए, आप मिल जाएगा No such file or directoryत्रुटि। लेकिन डबल कोट्स जैसे cd "$SUBLIMEPATH"आप कर सकते हैं।

आशा है कि इस मदद के लिए कुछ।


3

इसे हल करने के लिए मैंने एक सिमलिंक बनाया

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/sublime/bin/subl

मैंने इसके बाद ~ /। Bashrc पर vi का उपयोग करके इसे अपने पथ में जोड़ा

export PATH="/usr/local/sublime/bin/:$PATH"

अपने परिवर्तनों को लेने के लिए .bashrc स्रोत को याद रखें

source ~/.bashrc

1

इस सवाल का जवाब नहीं है। हालाँकि, यह एक उत्तर में की गई टिप्पणी के रूप में संबोधित करता है, और एक समान प्रक्रिया पर चर्चा करता है।

संपादन .bash_profileया .bashrc(जो भी आपके होम डायरेक्टरी में BASH कॉन्फ़िगरेशन फ़ाइल है) के द्वारा उदात्त पाठ के लिए एक उपनाम बनाना संभव है ।

alias sublime="/Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text"

ऐसा करने के लिए, बीओटीएच बच बैक स्लैश और उद्धरण का उपयोग करना आवश्यक है । विशेष रूप से ध्यान दें कि यह ऊपर वर्णित के रूप में पैट को निर्यात करने से बहुत अलग स्थिति है, क्योंकि वहां यह केवल एक या दूसरे को करने के लिए समझ में आता है, लेकिन दोनों नहीं

यह भी ध्यान दें कि आधिकारिक उप-दस्तावेज और कई अन्य स्रोतों के दावे के अनुसार, पहले एक सिमलिंक बनाना आवश्यक नहीं है। StackOverflow पर यह उत्तर सही है।

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