2012-05-26 19 views
63

मुझे अपने पथ को संशोधित करने के उदात्त पाठ 2. जोड़ने के लिए मैं एक ~/bin निर्देशिका और run this command जोड़ दिया है होने दिया गया है:मैं अपने पथ में ~/bin कैसे जोड़ूं?

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl 

subl लिंक ~/bin में दिखाई देता है। लेकिन मुझे अपने पथ में ~/bin निर्देशिका जोड़ने की आवश्यकता है। मैं इस पर बिल्कुल नया हूं, और मुझे नहीं पता कि मेरा रास्ता कहां है। मैंने चारों ओर देखा है, और पाया है कि संभावित फाइलें या तो .profile, .bash_profile या .bashrc

मेरे पास .bash_profile नहीं है। .profile और .bashrc करने के लिए मैं जोड़ा

PATH=$PATH:~/bin/subl 
export PATH 

कि सही बात को जोड़ने के लिए है? और यदि हां, तो मुझे इसे कहां जोड़ना चाहिए?

जब मैं echo $PATH, मैं मिलता है:

/Users/<username>/.rvm/gems/[email protected]/bin:/Users/<username>/.rvm/gems/[email protected]/bin:/Users/<username>/.rvm/rubies/ruby-1.9.3-p194/bin:/Users/<username>/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin 

जब मैं subl टाइप करें, मैं:

-bash: subl: command not found 

धन्यवाद!

पेज। मैंने पहले मैकपोर्ट स्थापित किए थे, जिसने मेरी .profile फ़ाइल को संशोधित किया था। सुनिश्चित नहीं है कि इसके साथ इसका कोई संबंध नहीं है - अब मुझे नहीं पता कि डिफ़ॉल्ट .profile कैसा दिखता है।

+4

आपका शीर्षक और पहला अनुच्छेद '/ bin' का संदर्भ देता है, लेकिन आपका शेष प्रश्न' ~/bin' को संदर्भित करता है। –

+1

आप सही हैं - मैं निर्देशिका पथों के साथ जो कर रहा हूं उसके बारे में मेरी पूरी अज्ञानता का एक संकेत। मुझे subl फ़ाइल को .rvm/bin में ले जाकर एक वर्कअराउंड का एक हैक मिला, जो मेरे पथ में * है *। मुझे अभी यह करने की ज़रूरत है, मैं समझता हूं कि इसे ठीक से कैसे किया जाए जब तक कि मैं यूनिक्स बेहतर नहीं सीखता। – Graeme

+0

शाब्दिक पथ में निष्पादन योग्य "सब्बल" न डालें। बस अपना स्थान डालें, जो ~/बिन है। साथ ही, टर्मिनल.एप लॉन्च करते समय ~/.bashrc को प्राप्त करने के लिए/etc/profile में देखें। – bojolais

उत्तर

11

आपको PATH=$PATH:~/bin/subl करने की आवश्यकता नहीं है। इसके बजाय, PATH=$PATH:~/bin पर्याप्त है। इस तरह, आप शेल को ~/bin में बाइनरी के लिए देखने के लिए कह रहे हैं। आपके आदेश के साथ, आपने शेल को "फ़ोल्डर" ~/bin/subl को बाइनरी के लिए देखने के लिए कहा, जो काम नहीं करता है। इसके अलावा, आपको दो फाइलों में कमांड जोड़ने की आवश्यकता नहीं है। उन्हें अपने .bashrc में एक बार जोड़ें। मैं bash विशेषज्ञ नहीं हूं, लेकिन मैं विभिन्न स्टार्टअप फ़ाइलों के आगे स्पष्टीकरण के लिए this blog post पढ़ने की अनुशंसा कर सकता हूं।

+0

वह ब्लॉग पोस्ट उपयोगी था, धन्यवाद। मैंने अभी भी समस्या को ठीक से हल नहीं किया है, लेकिन मुझे अपने पथ में एक निर्देशिका में subl फ़ाइल डालने से एक समाधान मिला है। – Graeme

84

मैं आप के रूप में बस के रूप में इस के लिए नया था, जिसका मतलब है मैं भी यकीन है कि कैसे आधे पथ को संशोधित करने के लिए संबंधित सामान को पढ़ने के लिए नहीं था। आखिरकार मैं ऐसा करने के लिए एक तरीका पर आया था जिसके लिए आपको .rvm/bin में subl डालने की आवश्यकता नहीं है (क्योंकि यह किसी और चीज के लिए है) लेकिन इसकी उचित निर्देशिका में, जो ~/bin है।

अपने टर्मिनल और प्रकार पर जाएँ:

open -a Finder /usr/bin 

यह/usr/bin निर्देशिका में अपनी खोजक खुल जाएगा। एक बार जब आप वहां एक नया खोजक खोलें, तो एप्लिकेशन पर जाएं, सब्लिमे टेक्स्ट आइकन पर राइट क्लिक करें और पैकेज सामग्री दिखाने के लिए जाएं, फिर सामग्री, साझा सपोर्ट, बिन पर जाएं। subl फाइल कॉपी और यह अन्य खोजक दिखाने/usr/bin

यह है कि में पेस्ट! आप आदेश का उपयोग करने के लिए सेट किया जाना चाहिए:

subl . (or subl file.name) 
+1

इसे करने का सबसे आसान तरीका, – pbojinov

+13

को साझा करने के लिए प्रोप 'सब्बल' की प्रतिलिपि बनाना सिमलिंक बनाने से बहुत अलग है .. –

+2

सिम्लिंक का उपयोग करने के लिए, नीचे इगोर का उत्तर देखें। – Obromios

2

एक ही चुनौती का था और समाप्त हो गया बस एक .bash_profile फ़ाइल बनाने, और सीधे वहाँ पथ बयान को जोड़ने। घटना के बिना काम किया। आप एल्विन अलेक्जेंडर के नमूने को भी देखना चाह सकते हैं। Bash_profile पोस्ट (http://alvinalexander.com/blog/post/mac-os-x/sample-mac-osx-bashrc-terminal-startup-file) - मुझे कुछ अन्य उपयोगी आदेश मिले जो मैं भी जोड़ रहा हूं।

34

मेरी राह में zsh किसी कारण के लिए अद्यतन, "~/बिन" काम नहीं कर रहा था जब मैं हाल ही में करने के लिए zsh/prezto बैश से बदल। मैंने इसे "/ उपयोगकर्ता/myusername/bin" में बदल दिया और यह एक बार फिर ठीक काम करता है। मैं एक कारण खोज रहा हूं जब मुझे लगता है कि क्यों और अपडेट करें। अगर आपके पास बेहतर समाधान है तो कृपया टिप्पणी करें।

मुझे पता है कि यह एक पुरानी पोस्ट है, लेकिन सोचा कि मैं किसी अन्य व्यक्ति के लिए ओएसएक्स कमांड लाइन वर्बैटिम से उत्कृष्टता के साथ काम करने के लिए instructions given by sublimetext का पालन करने का प्रयास कर रहा हूं। उदात्त पाठ 3Sublime Text 3 Documentation

1) अपने घर निर्देशिका में "बिन" नामक एक निर्देशिका बनाएँ "~ /"

mkdir ~/bin 

2) एक प्रतीकात्मक कड़ी में अपने उदात्त पाठ 2 एप्लिकेशन को बनाएं लिए अद्यतन नई निर्देशिका आपने अभी बनाया

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl 

उदात्त पाठ 3 एप्लिकेशन पथ के लिए अद्यतन थोड़ा अलग है:

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/bin/subl 

3) ओएसएक्स में आसानी से पथ में आसानी से जोड़ने के तरीके पर रायन हॉफमैन के निर्देशों का पालन करें: add to the path on Mac OSX अपनी तकनीक का उपयोग करके पथ में नव निर्मित "~/bin" जोड़ें। आपका/etc/पथ फ़ाइल कुछ इस तरह दिखाई जब आप है (ध्यान दें ~/अंत में बिन) काम हो जाएगा:

/usr/bin 
/bin 
/usr/sbin 
/sbin 
/usr/local/bin 
~/bin 

4) एक नया टर्मिनल विंडो खोलें कमांड लाइन से subl का उपयोग शुरू करने।

+3

यह सही जवाब है, यह मेरे लिए पूरी तरह से काम करता है (मैक ओएसएक्स 10.8.4) – AntonioOtero

+0

यह उत्तर ओपी द्वारा स्वीकार किया जाना चाहिए। – maahd

+0

मैंने इसे अपनी .zshrc फ़ाइल के इस हिस्से में जोड़ा और यह काम किया। # उपयोगकर्ता कॉन्फ़िगरेशन 'निर्यात PATH ="/usr/local/heroku/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/बिन:/उपयोगकर्ता/उपयोगकर्ता नाम/बिन "' –

0

मेरे साथ काम करता है।

sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /bin/subl 
3

आप पहली बार /usr/bin करने के लिए एक प्रतीकात्मक कड़ी बनाने की जरूरत: अगर किसी को मदद के लिए लग रही है मैं उदात्त संस्करण 3 और इसे यहाँ पोस्ट करने में समस्या। एक प्रतीकात्मक लिंक - या सिमलिंक - एक निर्देशिका के लिए उपनाम या शॉर्टकट है। इस प्रकार कार्य करें:

  1. सबसे पहले, सुनिश्चित करें कि आप अपने घर निर्देशिका में हैं टर्मिनल कमांड लाइन का उपयोग कर

    cd ~

  2. अपने usr/bin निर्देशिका के लिए एक प्रतीकात्मक लिंक बनाएँ बनाते हैं।

    ln -s /usr/bin bin

    कहाँ ln = एक लिंक, बनाने -s = प्रतीकात्मक, अपने नए लिंक [target diectory] और [name of link]

  3. टेस्ट के बाद

    cd bin

    यह आपको करने के लिए ले जाना चाहिए अपने ~/bin - /usr/bin के समान। ~ इंगित करता है कि अंदर एक लंबा रास्ता छिपा हुआ है।

  4. अब, subl आदेश

    cd ~

  5. उदात्त पाठ 2 कमांड लाइन टूल स्थापित स्थापित करने के लिए वापस अपने घर फ़ोल्डर में जाएँ। मैं किसी भी अनुमति ब्लॉक को बाईपास करने के लिए sudo का उपयोग करूँगा।

    sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl

    आप क्रिया के लिए होना चाहिए! अपनी कमांड लाइन के रूप में बस subl दर्ज करके इसे परीक्षण करें और इसे टर्मिनल से सब्लिमे टेक्स्ट 2 लॉन्च करना चाहिए।

2

सरल यह ऐसा करने के टर्मिनल पर:

sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/bin/subl 

है वहीं मेरी उदात्त संग्रहीत किया जाता है, उदात्त क्योंकि आपके संस्करण अलग हो सकता पथ टाइप करने के लिए प्रयास करें।

subl . 

ठीक काम करना चाहिए।

1

मैं हाल ही में इस समस्या से जूझ रहा था। मुझे एहसास हुआ कि ~ पथ में आपकी होम निर्देशिका में विस्तारित नहीं है। कम से कम यह मेरे लिए नहीं था।

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

export PATH=$PATH:$HOME/bin 

मेरे subl कुछ फॉलोअप निर्देश मैं काढ़ा पीपा के लिए पाया प्रति मेरी ~/bin में अनुप्रयोग निर्देशिका से जोड़ा गया था। दुर्भाग्य से पथ कभी अपडेट नहीं किया गया था।

43

सभी का इंस्टेंट यहां टिप्पणी की गई। आपको /usr/local/bin में उत्कृष्टता के लिए सिम्लिंक जोड़ने की आवश्यकता है। इसकी जड़ तक पहुंच की आवश्यकता नहीं है। और एक और बिन निर्देशिका बनाने की जरूरत नहीं है।

उदात्त पाठ 2

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

उदात्त पाठ 3

ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/ 
+1

+1 यह मेरे लिए काम करता है - कुंजी को स्प्लिम टेक्स्ट के दस्तावेज़ों में बताए गए अनुसार /Applications./bin/subl के आसपास भाषण चिह्नों का उपयोग नहीं करना है (https://www.sublimetext.com/docs/2/ osx_command_line.html)। – WorkingMatt

6

मैं इस समस्या के लिए एक वैकल्पिक समाधान मुद्रा करना चाहते हैं के लिए। पहले से ही अपने पथ में एक निर्देशिका का प्रयोग करें। इस तरह:

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

tl; डॉ

मैं Yosemite में एक ही समस्या में पड़ गए (ओएस एक्स 10.10) जहां, एक ताजा में ओएस के स्थापित करते हैं, ~/bin निर्देशिका मौजूद नहीं है और आपके रास्ते में नहीं है फिर भी आपके रास्ते में पहले से ही बहुत से उपयोगी स्थान हैं, आप सिम्लिंक को सिल्लिंक में रख सकते हैं।

/Applications/Postgres.app/Contents/Versions/9.3/bin 
/usr/local/bin 
/usr/bin 
/bin 
/usr/sbin 
/sbin:/usr/local/bin 
/usr/local/mysql/bin 

आप आसानी से भाग बदलकर स्क्रिप्ट अपने रास्ते में पहले से ही एक स्थान का उपयोग करने के संशोधित कर सकते हैं कि कहते हैं:

उदाहरण के लिए यहां आइटम वर्तमान में मेरे पथ ($ echo $PATH का उपयोग एक सूची प्राप्त करने) में हैं ~/bin/subl से /usr/local/bin/subl

इस प्रकार, निम्न आदेश चलाने से आपका लक्ष्य पूरा हो जाएगा।

$ sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl 
+0

यह है! यह वह जवाब है जिसे ओएसएक्स 10.10 और ऊपर के लिए स्वीकार किया जाना चाहिए। कुंजी सूडो नैनो/आदि/पथों का उपयोग करके/usr/local/bin/subl को अपने पथ में जोड़ना है। फिर आप symlink कर सकते हैं। – cgossain

+1

एल कैपिटन (ओएस एक्स 10.11) में बहुत अच्छा काम करता है। धन्यवाद! – JuanBoca

0

ऐसा लगता है कि Yosemite में आदेश उदात्त 3 के लिए वास्तव में है, लेकिन मैं गलत हो सकता है:

ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/ 
1

यहाँ (उदात्त पाठ 3 के लिए) यह करने के लिए पूर्ण निर्देश दिए गए हैं:

  1. निम्न आदेश के आधार पर आपके सिस्टम वफ़ादारी संरक्षण की स्थिति की जांच करें:

    +०१२३५१६४१०६१ अपनी मशीन को पुन: प्रारंभ और स्टार्टअप पर कमान + आर दबाए रखकर

    1. ओएस एक्स की वसूली ओएस को बूट:

      $ csrutil status 
      

      तो यह सक्षम है, निम्न चरणों का पालन करें।

    2. उपयोगिता मेनू से टर्मिनल लॉन्च करें।

    3. भागो निम्न आदेश:

      $ csrutil disable 
      $ reboot 
      

    यह एक सुरक्षा सुविधा ओएस एक्स केसिस्टम वफ़ादारी संरक्षण कहा जाता है, जो सिस्टम स्थानों और प्रक्रियाओं के लिए अनाधिकृत उपयोग के खिलाफ की रक्षा करेगा की वजह से है । इसलिए यदि यह सुविधा सक्षम है, तो आप /usr/bin की सामग्री को संशोधित करने में सक्षम नहीं होंगे।

  2. /usr/bin से एक सिमलिंक बनाने~/बिन:

    :

    $ sudo ln -s /usr/bin ~/bin 
    
  3. ~/बिन को उदात्त पाठ 3 CLI उपकरण से एक सिमलिंक बनाएं

    $ sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl ~/bin 
    
  4. इसका परीक्षण करें।

    $ subl . 
    
1
echo $PATH 

और पथ पहले से ही वहाँ में से एक का उपयोग करें।इस उदाहरण में "/ usr/स्थानीय/बिन"

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

अगर प्रणाली वापसी No such file or directory

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

परीक्षण अगर यह

subl 

इस उदात्त पाठ 3.

के लिए है काम कर रहा है
+0

मैंने उपरोक्त, गुप का एक समूह का पालन किया। मैंने यह किया - हाँ। धन्यवाद दोस्त, अच्छा और सरल। – danjah

संबंधित मुद्दे