जवाबों:
.bashrc
फ़ाइल एक स्क्रिप्ट है कि जब भी कोई नया टर्मिनल सत्र में शुरू कर दिया है निष्पादित किया जाता है है इंटरैक्टिव मोड । यह है जब आप का उपयोग करके एक नया टर्मिनल विंडो खोलें क्या होता है Ctrl+ Alt+ T, या सिर्फ एक नया टर्मिनल टैब खोलें।
इसके विपरीत, लॉगिन मोड में एक टर्मिनल सत्र आपको उपयोगकर्ता नाम और पासवर्ड के लिए पूछेगा और ~/.bash_profile
स्क्रिप्ट निष्पादित करेगा । उदाहरण के लिए, SSH के माध्यम से रिमोट सिस्टम पर लॉग ऑन करने पर यह होता है।
.bashrc
फ़ाइल स्वयं टर्मिनल सत्र के लिए विन्यास की एक श्रृंखला शामिल है। इसमें सेटिंग या सक्षम करना शामिल है: रंग भरना, पूरा करना, शेल इतिहास, कमांड उपनाम और बहुत कुछ। .bashrc
फ़ाइल उबंटू के साथ वितरित अच्छी तरह से टिप्पणी की है और आप यह क्या करता है की सबसे अधिक समझने के लिए बस इसे पढ़ कर सकेंगे।
आप .bashrc
अपनी पसंद के हिसाब से ट्विक कर सकते हैं। यहां आप कई अतिरिक्त सुविधाओं के साथ एक उदाहरण प्राप्त कर सकते हैं ।
सुपरयुसर पर सवाल - .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
शुरू किया गया है, मुझे लगता है कि एक फाइल है, जहां आउटपुट और प्रॉम्प्ट सेटिंग ठीक है और एक फाइल जहां यह नहीं है। परंपरागत रूप से, एक रन-टाइम परीक्षण अन्तरक्रियाशीलता को भेद करने के लिए किया जाएगा, उदाहरण के लिए, यह देखने के लिए जाँच करें कि क्या संकेत निर्धारित है।
.bashrc
कई बैश conmfiguration फ़ाइलों में से एक है। बैश स्टार्टअप फाइलों पर आधिकारिक दस्तावेज देखें ।