.Bashrc फ़ाइल क्या है और यह क्या करती है?


21

मुझे कोई स्पष्ट जानकारी नहीं मिल रही है कि .bashrcफ़ाइल क्या है और यह वास्तव में क्या करती है।


अभी तक मदद करने के लिए सभी को धन्यवाद। ऐसा लगता है कि यह स्क्रिप्ट रंग भरने, पूरा करने, उपनाम और शैल इतिहास आदि से सब कुछ करती है, क्या ऐसा कुछ है जो उपयोगी नहीं लगता है?


4
.bashrcकई बैश conmfiguration फ़ाइलों में से एक है। बैश स्टार्टअप फाइलों पर आधिकारिक दस्तावेज देखें ।
मुरु

जवाबों:


21

.bashrcफ़ाइल एक स्क्रिप्ट है कि जब भी कोई नया टर्मिनल सत्र में शुरू कर दिया है निष्पादित किया जाता है है इंटरैक्टिव मोड । यह है जब आप का उपयोग करके एक नया टर्मिनल विंडो खोलें क्या होता है Ctrl+ Alt+ T, या सिर्फ एक नया टर्मिनल टैब खोलें।

इसके विपरीत, लॉगिन मोड में एक टर्मिनल सत्र आपको उपयोगकर्ता नाम और पासवर्ड के लिए पूछेगा और ~/.bash_profileस्क्रिप्ट निष्पादित करेगा । उदाहरण के लिए, SSH के माध्यम से रिमोट सिस्टम पर लॉग ऑन करने पर यह होता है।

.bashrcफ़ाइल स्वयं टर्मिनल सत्र के लिए विन्यास की एक श्रृंखला शामिल है। इसमें सेटिंग या सक्षम करना शामिल है: रंग भरना, पूरा करना, शेल इतिहास, कमांड उपनाम और बहुत कुछ। .bashrcफ़ाइल उबंटू के साथ वितरित अच्छी तरह से टिप्पणी की है और आप यह क्या करता है की सबसे अधिक समझने के लिए बस इसे पढ़ कर सकेंगे।

आप .bashrcअपनी पसंद के हिसाब से ट्विक कर सकते हैं। यहां आप कई अतिरिक्त सुविधाओं के साथ एक उदाहरण प्राप्त कर सकते हैं


लिंक टूट गया है।
रब

1
लिंक काम कर रहा है।
लुइस डी सूसा

उस पेज में डाउनलोड फ़ाइल काम नहीं कर रही है।
रब

1
लिंक और डाउनलोड दोनों ठीक काम करते हैं
एम। बेकर्रा

5

सुपरयुसर पर सवाल - .bashrc फाइल क्या है? @pineapple द्वारा और @DigitalRoss द्वारा उत्तर दिया गया

दरअसल, यह bashविशेष रूप से है कि .bashrc(और /etc/bash.bashrc) पढ़ता है । बहुत सारे अलग-अलग गोले हैं।

बैश मैन पेज (ब्रायन फॉक्स और चेत रमी द्वारा; जानकारी पृष्ठ "बैश स्टार्टअप फाइल्स" ) आधिकारिक विवरण है:

जब एक इंटरेक्टिव शेल जो कि लॉगिन शेल नहीं है, तो bash पढ़ता है और कमांड से निष्पादित करता है ~/.bashrc, यदि वह फ़ाइल मौजूद है। --norcविकल्प का उपयोग करके इसे बाधित किया जा सकता है । --rcfileफ़ाइल विकल्प पढ़ सकते हैं और के बजाय फ़ाइल से आदेश पर अमल करने के लिए पार्टी के लिए बाध्य करेगा ~/.bashrc

जब बैश को गैर-अंतःक्रियात्मक रूप से शुरू किया जाता है, तो शेल स्क्रिप्ट को चलाने के लिए, उदाहरण के लिए, यह BASH_ENVपर्यावरण में चर की तलाश करता है, अगर यह वहां दिखाई देता है, तो इसके मूल्य का विस्तार करता है, और पढ़ने और निष्पादित करने के लिए फ़ाइल के नाम के रूप में विस्तारित मूल्य का उपयोग करता है। बैश ऐसा व्यवहार करता है जैसे कि निम्नलिखित आदेश निष्पादित किए गए थे:

if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi  

लेकिन PATHचर का मान फ़ाइल नाम के लिए खोज करने के लिए उपयोग नहीं किया जाता है।

फ़ाइल केवल शेल कमांड है। यह आमतौर पर संकेतों को बदलने, पर्यावरण चर सेट करने और शेल प्रक्रियाओं को परिभाषित करने के लिए उपयोग किया जाता है। परंपरागत रूप से, फ़ाइल .profileका उपयोग इस उद्देश्य के लिए किया जाता है, लेकिन bashइसमें इतने विस्तार होते हैं कि इसे उपयोगकर्ताओं के लिए अपनी स्टार्टअप फ़ाइल की आवश्यकता होती है, जो स्टार्टअप फ़ाइलों में bashism डालना चाहते हैं ।

" लॉगिन लॉगिन नहीं " का अर्थ है स्क्रिप्ट लॉन्च जैसी चीजें और आमतौर पर टर्मिनल विंडो जो विंडो मैनेजरों द्वारा शुरू की जाती हैं। कभी-कभी मेरे पास सिर्फ .bashrcऔर BASH_ENVसिर्फ स्रोत के लिए * निक्स सिस्टम स्थापित होते हैं .profile। जब तक आप POSIX शेल कमांड के बाहर नहीं भटके तब तक आपको किसी भी शेल में एक ही इनिशियलाइज़ेशन मिलेगा।

यह विशेष रूप से मूल्यवान है जब shवास्तव में bashऐसा होता है, जो कभी-कभी होता है। इस प्रयोग को करने के लिए:

. .profile

एक कारण यह सब इतना जटिल है क्योंकि कभी-कभी लोग उन चीजों को डालते हैं जो आउटपुट को शेल स्टार्टअप फ़ाइलों में डालते हैं, या वे बिना शर्त के संकेत देते हैं। जब शेल प्रोग्राम और भाषाओं के भीतर बैकलिट कमांड चलाते हैं, तो system(3)सी प्रोग्राम से उल्लेख नहीं करने पर बहुत सारी समस्याएं होती हैं। जिस तरह से bashशुरू किया गया है, मुझे लगता है कि एक फाइल है, जहां आउटपुट और प्रॉम्प्ट सेटिंग ठीक है और एक फाइल जहां यह नहीं है। परंपरागत रूप से, एक रन-टाइम परीक्षण अन्तरक्रियाशीलता को भेद करने के लिए किया जाएगा, उदाहरण के लिए, यह देखने के लिए जाँच करें कि क्या संकेत निर्धारित है।

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