सवाल 'लॉगिन' और 'इंटरएक्टिव' बैश खोल के बीच क्या अंतर है


'लॉगिन' और 'इंटरएक्टिव' बैश खोल के बीच क्या अंतर है? मैंने नीचे विकिपीडिया उद्धृत किया है लेकिन क्या कोई बेहतर जवाब दे सकता है?

संपादित करें: यह एक समुदाय विकी है, इसलिए शायद आप बंद करने के लिए मतदान करने के बजाए आप किस प्रकार की स्थितियों के लिए कॉल कर सकते हैं, किस प्रकार के $ SHELL

स्टार्टअप स्क्रिप्ट्स

जब बैश शुरू होता है, तो यह निष्पादित करता है   विभिन्न प्रकार के आदेशों में आदेश   स्क्रिप्ट।

जब बैश को इंटरेक्टिव के रूप में बुलाया जाता है   लॉगिन खोल, यह पहले पढ़ता है और   फ़ाइल से कमांड निष्पादित करता है   / etc / प्रोफ़ाइल, अगर वह फ़ाइल मौजूद है।   उस फ़ाइल को पढ़ने के बाद, यह देखता है   ~ / .bash_profile, ~ / .bash_login, और   ~ / .profile, उस क्रम में, और पढ़ता है   और पहले से आदेश निष्पादित करता है   एक जो मौजूद है और पठनीय है।

जब एक लॉगिन खोल निकलता है, बैश पढ़ता है   और फ़ाइल से कमांड निष्पादित करता है   ~ / .bash_logout, यदि यह मौजूद है।

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


46


मूल


मैंने आधा arsed साइट नियमों के साथ अधिक फिट करने के लिए सवाल संपादित किया है। मुझे नहीं लगता कि मैं कभी भी उपयोगी जानकारी को हटाने की इच्छा को समझूंगा ... - Gareth
लोग इस सवाल को क्यों वोट दे रहे हैं? मुझे पूरी तरह से कानूनी लगता है? - duffbeer703
उह, अपने प्रश्न का जवाब लें, और इसे उत्तर के रूप में पोस्ट करें। अपने स्वयं के प्रश्न का उत्तर देना ठीक है। - derobert
यह एक बहुत ही वैध सवाल है क्योंकि भेद भ्रमित है। उदाहरण के लिए नोट करें कि जब आप xdm के माध्यम से ग्राफ़िकल वातावरण में लॉग इन करते हैं और xterm चलाते हैं, तो आपको एक इंटरैक्टिव खोल मिलता है और लॉगिन खोल स्टार्टअप फ़ाइलें नहीं चलती हैं। - pjc50


जवाब:


आपके लॉगिन शेल की प्रोफाइल फाइलों में आप कुछ चीजें सेट कर सकते हैं जिनका उपयोग आप अपने सत्र के दौरान करेंगे, और केवल एक बार करने की आवश्यकता है। कुछ विचार:

  • आपके द्वारा कनेक्ट किए गए आईपी पते वाली एक अस्थायी फ़ाइल बनाएं, बाद में आप इसे फ़ायरवॉल नियमों को सेट करने वाली कुछ स्क्रिप्ट में शामिल कर सकते हैं।
  • एसएसएच एजेंट चलाएं, अपनी एसएसएच कुंजी के लिए पूछें, और फ़ाइल में एसएसएच एजेंट पर्यावरण चर को स्टोर करें।
  • यदि यह एक सीमित मशीन है, और आपके सहकर्मी एक-दूसरे के लॉगिन के बारे में जागरूक होना चाहते हैं, तो अपने लॉगिन के बारे में सूचित करने वाले संदेशों को लिखें (1)।

गैर-लॉगिन शैल की फ़ाइलों में (.bashrc) आपको अपना खोल कॉन्फ़िगर करना चाहिए:

  • फैंसी प्रॉम्प्ट
  • उपनाम सेट करें
  • इतिहास विकल्प सेट करें
  • कस्टम खोल कार्यों को परिभाषित करें
  • निर्यात पर्यावरण चर, (शायद पेजर, संपादक अगर सिस्टम-व्यापी सेटिंग्स चूसना)
  • लोड एसएसएच-एजेंट चर में सहेजा गया .bash_profile

आमतौर पर, आप शामिल करेंगे .bashrc से .bash_profile निम्नलिखित के साथ। फिर लॉगिन शेल आपके सभी अनुकूलन प्राप्त करता है, और .bash_profile फ़ाइल को पहले से मौजूद चीजों को डुप्लिकेट करने की आवश्यकता नहीं है .bashrc

[[ -f ~/.bashrc ]] && . ~/.bashrc

16



क्या लॉगिन शेल पहला ऐसा होता है जो मशीन पर ताजा होने पर शुरू होता है? आपके द्वारा खोले जाने वाले सभी अन्य गोले इंटरैक्टिव हो सकते हैं या नहीं भी हो सकते हैं। एक खोल जो क्रॉन से चल रहा है? इंटरैक्टिव प्रतीत नहीं होता है, लेकिन क्या यह लॉगिन है? क्या होगा यदि आप मशीन पर नहीं हैं? वे प्रश्न हैं जिन्हें अनुत्तरित छोड़ दिया गया है - François Beausoleil
अब, यह एक उत्तर है जिसे मैं समझ सकता हूं: linuxquestions.org/questions/linux-general-1/... - François Beausoleil