फिर से लॉग आउट किए बिना और फिर से वापस में बैश का पुनः लोड करें


81

क्या फिर से लॉग आउट किए बिना और वापस फिर से .profile फ़ाइल को पुनः लोड करने के लिए बैश का उपयोग करना संभव है?

जवाबों:


102

यह वर्तमान टर्मिनल के लिए काम करना चाहिए:

. ~/.profile

.एक bashबिलिन और इसके लिए एक पर्याय है source, देखें man bash:

फ़ाइल नाम [ तर्क ]
स्रोत फ़ाइल नाम [ तर्क ] वर्तमान शेल वातावरण (…) में फ़ाइल नाम
     से आदेशों को पढ़ें और निष्पादित करें ।


18
यह केवल वर्तमान टर्मिनल में प्रभावी होगा।
enzotib

@enzotib वहाँ चारों ओर काम करने का एक तरीका है?
मैटी

14
@ मैटी: नहीं, पूरे ग्राफिकल वातावरण में दिखाई देने वाले परिवर्तनों को पूरा करने के लिए, आप केवल सत्र फिर से शुरू कर सकते हैं
enzotib

2
इसके साथ एकमात्र मुद्दा यह है कि यदि आप किसी चीज को रास्ते से हटाते हैं तो यह तब तक प्रभावी नहीं होगा जब तक कि आप पुनः आरंभ नहीं करते हैं
Aras

1
@ आर्स एक महत्वपूर्ण बिंदु बनाता है जो विस्तार का हकदार है: यदि कुछ को हटा दिया जाता है ~/.profile, तो वह परिवर्तन पुनः लोड होने के बाद प्रभावी नहीं होगा . ~/.profile। उदाहरण के लिए, इसमें एक फंक्शन जोड़ें ~/.profile: function externalip () { curl http://ipecho.net/plain; echo; }इसके बाद ~/.profile- यह काम करता है। अब उस फंक्शन को ~/.profileफिर से हटा दें . ~/.profile। फ़ंक्शन अभी भी उपलब्ध है - केवल पुनरारंभ (लॉग आउट और इन) इसे हटा देगा।
सीमस

13

यदि आप एक नया शेल शुरू नहीं करना चाहते हैं, लेकिन वर्तमान शेल में स्क्रिप्ट निष्पादित करते हैं, तो आप इसे स्रोत:

source script_name.sh

source = .

बाश sourceबिल्ट-इन बॉर्न शेल .(डॉट) कमांड का एक पर्याय है ।

सौजन्य - tldp.org

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