2009-07-14 12 views
5

मैं सीधे WinXP के तहत स्थापित एक के बजाय साइगविन के तहत स्थापित पायथन का उपयोग करना चाहता था, इसलिए मैंने ~/.bashrc संपादित किया और इसे सोर्स किया। कुछ नहीं बदला। मैंने अन्य चीजों की कोशिश की, लेकिन मैंने कुछ भी नहीं किया है, मैंने किसी भी तरह से $ PATH बदल दिया है। तो मैंने रिबूट किया। अहा; अब $ PATH बदल गया है जो मैं चाहता था।

लेकिन, क्या कोई यह समझा सकता है कि ऐसा क्यों हुआ? साइगविन (और बैश) के माध्यम से किए गए पर्यावरण (और इसके चर) में किए गए परिवर्तन कब रीबूट के बाद ही प्रभावी होते हैं?

(क्या यह रेल मार्ग चलाने का कोई तरीका है?) (यह प्रश्न किसी भी अंक जीतने की संभावना नहीं है, लेकिन मैं उत्सुक हूं, और मैं इस बिंदु पर मदद नहीं करने वाले दस्तावेज़ों के माध्यम से wading भी थक गया हूं।)

+0

$ PATH को बदलने के लिए आपने किस सटीक कमांड का उपयोग किया था? –

+0

मैंने कई तरीकों की कोशिश की। संपादित ~/.bashrc: अजगर =/usr/bin// cygdrive/सी/पायथन/etc/आदि पथ = $ {अजगर} के बजाय python.exe: $ {पथ} तो% स्रोत ./ bashrc जब यह काम नहीं करता, तो मैंने cmdline से $ {PAth} को संशोधित करने का प्रयास किया, यहां तक ​​कि इसे मिटा दिया और इसे पुनर्निर्माण भी किया: कोई प्रभाव नहीं। – behindthefall

उत्तर

0

आप पथ चर संशोधित करने के बाद पार्टी के हैश फिर से प्रारंभ करने की आवश्यकता हो सकता है:

hash -r 
+0

बैश के हैंश? हममम। एक सूर्य पर 'रिहाश' की यादें 3. आईआईआरसी। लेकिन मैंने सोचा कि 'स्रोत। Bashrc' ने इसका ख्याल रखा, नहीं? – behindthefall

+1

रिहाश टीसीएसएच है। हैश-आर –

3

प्रयास करें:

PATH="${PATH}:${PYTHON}"; export PATH 

या:

export PATH="${PATH}:${PYTHON}" 

उद्धरण रिक्त स्थान और नई-पंक्तियों कि आप अपने निर्देशिका नाम में नहीं है की रक्षा। मैं दोहराता हूं "0 नहीं"

यदि आप वर्तमान वातावरण और किसी भी बाद की प्रक्रियाओं के लिए पथ बदलना चाहते हैं, तो ऊपर दिए गए आदेशों में से किसी एक के समान कुछ उपयोग करें; वे बराबर हैं।

आप अगली बार के लिए पथ आप बैश शुरू बदलना चाहते हैं, ~/.bashrc संपादित करें और इसके बाद के संस्करण (उदाहरण के लिए) में से एक जोड़ने या मौजूदा PATH की स्थापना आदेश जिन्हें आप वहाँ प्राप्त संपादित करें।

आप (यानी एक तत्काल और एक "स्थायी" प्रभावित करते हैं), ~/.bashrc संपादित करें और निम्न में से कोई एक कार्य करें दोनों वर्तमान पर्यावरण और बाद में किसी भी लोगों को प्रभावित करना चाहते हैं: प्रकार पहले दो रूपों ऊपर दिखाए गए एक या एक से~/.bashrc फ़ाइल स्रोत। कभी-कभी, हो सकता है कि आप सोर्सिंग नहीं करना चाहें, उदाहरण के लिए, यह कुछ अस्थायी चीज को पूर्ववत कर देगा जो आप वर्तमान में उपयोग कर रहे हैं जैसे कि ~/.bashrc से अलग कुछ अन्य चर सेट किए गए हैं (उन्हें रीसेट करें)।

मुझे नहीं लगता कि आपको हैश के बारे में चिंता करने की ज़रूरत है जब तक कि आप या तो कुछ गंभीर पुनर्व्यवस्थित कर रहे हों या सिस्टम उपयोगिताओं के लिए कुछ स्थानीय प्रतिस्थापन जोड़ रहे हों।

+0

के लिए है, ठीक है, अगर मुझे और सबूत चाहिए, तो यह दिखाता है कि आसानी से कितना बीमार है मैं बैश के साथ हूं। मुझे क्या करना होगा? स्रोत, हैश और उस क्रम में हर समय निर्यात? – behindthefall

+0

आपने मुझे खो दिया है। मैं व्हाइटस्पेस को संरक्षित करना चाहता हूं जो वहां नहीं है? या आप कह रहे हैं, "NIX नामकरण सम्मेलनों के साथ चिपकाएं"? (जो मैं हमेशा करता हूं; मेरे पास फाइल सिस्टम नामों में व्हाइटस्पेस का डरावना है --- हाइफ़न भी पसंद नहीं करते हैं।) – behindthefall

+0

मेरे सिग्विन सिस्टम पर, वर्तमान शेल सत्र में $ PATH को संशोधित करने के लिए, मुझे दूसरा रूप करने की आवश्यकता है आदेश। इसलिए, यदि आप 'निर्यात PATH = "$ {PATH}: {$ PYTHON}" को अपने .bashrc में जोड़ते हैं, तो इसे लॉग इन करने पर हर बार काम करना चाहिए। –

2

आप अपने परिवर्तन स्थायी होने के लिए चाहते हैं, तो आप उचित फ़ाइल (इस मामले में .bashrc) को संशोधित करने और निम्न क्रियाओं में से एक प्रदर्शन करना चाहिए:

  • पुनः प्रारंभ cygwin खिड़की
  • स्रोत .bashrc (यह काम करना चाहिए, भले ही आपके लिए काम नहीं कर रहा हो)
  • । .bashrc,

(कि डॉट < अंतरिक्ष > < फ़ाइल नाम > है) हालांकि।bashrc का उपयोग डिफ़ॉल्ट रूप से BASH खोल का उपयोग करते समय किया जाता है, इसलिए यदि आप एक और खोल (csh, ksh, zsh, आदि) का उपयोग कर रहे हैं तो आपके परिवर्तन .bashrc को संशोधित करके प्रतिबिंबित नहीं होंगे।

+1

उपरोक्त, यह नोट करते हुए कि ".bashrc" "स्रोत .bashrc" –

1

योग्य कुछ बातें कोशिश करते हैं और कम से कम बाहर शासन करने के लिए:

  1. आप एक ही व्यवहार मिलता है के रूप में खोल से निम्नलिखित? (मेरे cygwin, जो अपेक्षा के अनुरूप काम करता है से चिपकाया।)

     
    $ echo $PATH 
    /usr/local/bin:/usr/bin:/bin 
    
    $ export PATH=$PATH:/cygdrive/c/python/bin 
    
    $ echo $PATH 
    /usr/local/bin:/usr/bin:/bin:/cygdrive/c/python/bin 
    
  2. अपने bashrc ऊपर करने के लिए एक समान तरीके से पथ की स्थापना है? (यानी दूसरा आदेश)।

  3. क्या आपके bashrc में "स्रोत" या "।" है कहीं भी आदेश? (हो सकता है कि यह एक और फाइल सोर्स कर रहा है जो आपके पैथ वैरिएबल को ओवरराइट करता है।)

+0

हैलो फिर से, ars के लिए एक bash shorthand है। मैं रात के लिए किया जाता है, लेकिन कल फिर कोशिश करूँगा। धन्यवाद। – behindthefall

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