इंटरेक्टिव शेल का क्या मतलब है?


25

UNIX: पूरा संदर्भ, केनेथ एच। रोसेन एट अल द्वारा दूसरा संस्करण।

आप कमांड के रूप में शेल के नाम का उपयोग करके लॉग इन करने के बाद एक और शेल शुरू कर सकते हैं; उदाहरण के लिए, कोर्न शेल शुरू करने के लिए, आप कमांड प्रॉम्प्ट पर ksh टाइप कर सकते हैं। इस प्रकार का शेल एक लॉगिन शेल नहीं है, और इसका उपयोग करने के लिए आपको फिर से लॉग इन करने की आवश्यकता नहीं है, लेकिन यह अभी भी एक इंटरैक्टिव शेल है, जिसका अर्थ है कि आप शेल को कमांडों में टाइप करके इंटर करते हैं (शेल का उपयोग करने के विपरीत। एक स्क्रिप्ट चलाएं, जैसा कि अध्याय 20 में चर्चा की गई है)। जब आप एक ग्राफ़िकल इंटरफ़ेस का उपयोग कर रहे हैं तो टर्मिनल विंडो में चलने वाले शेल के उदाहरण इंटरएक्टिव गैर-लॉगिन शेल भी होते हैं। जब आप एक गैर-लॉगिन शेल शुरू करते हैं, तो यह आपकी .profile, .bash_profile, या .login फ़ाइल (या आपकी .logout फ़ाइल) को नहीं पढ़ता है, लेकिन यह अभी भी दूसरी शेल कॉन्फ़िगरेशन फ़ाइल (जैसे .bashrc) को पढ़ेगा। इसका मतलब है कि आप अपने परिवर्तनों का परीक्षण कर सकते हैं।

मैं ऊपर की रेखाओं से गुजर रहा था और मुझे समझ नहीं आ रहा है कि इंटरेक्टिव शेल का क्या मतलब है। क्या यह सच है कि अगर मैं टर्मिनल का उपयोग कर रहा हूं तो यह सही नहीं है।

इसके अलावा, इसका क्या मतलब है जब आप कहते हैं कि बोर्न एक संवादात्मक शेल नहीं है जबकि बैश / csh एक इंटरैक्टिव शेल है?

जवाबों:


27

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

इसलिए, आपका लॉगिन शेल इंटरेक्टिव है, जैसा कि आप अपने प्रश्न में उद्धृत अंश में वर्णित किसी अन्य शेल को मैन्युअल रूप से शुरू करते हैं। इसके विपरीत, जब आप एक शेल स्क्रिप्ट चलाते हैं, तो एक गैर-इंटरैक्टिव शेल शुरू किया जाता है जो स्क्रिप्ट में कमांड चलाता है, और फिर स्क्रिप्ट खत्म होने पर बाहर निकलता है।

बॉर्न शेल का उपयोग इंटरेक्टिव शेल के समान किया जा सकता है, जैसे bashया tcsh। वास्तव में, कई सिस्टम, जैसे कि FreeBSD, shडिफ़ॉल्ट उपयोगकर्ता शेल के रूप में उपयोग करते हैं। आधुनिक गोले की तरह bash, zsh, tcsh, आदि है कि उन्हें और अधिक आरामदायक और इंटरैक्टिव उपयोग (कमांड इतिहास, पूरा होने के, आदि) के लिए सुविधाजनक बनाने कि बॉर्न शैल नहीं है कई विशेषताएं है।

इंटरएक्टिव गैर-लॉगिन गोले (अर्थात, शेल आप एक अन्य शेल से या टर्मिनल विंडो खोलकर मैन्युअल रूप से शुरू करते हैं) आपकी .loginया .profileफ़ाइलों को नहीं पढ़ते हैं । ये केवल लॉगिन शेल ( loginसिस्टम प्रक्रिया, या आपके एक्स डिस्प्ले मैनेजर द्वारा शुरू किए गए गोले) द्वारा पढ़े और निष्पादित किए जाते हैं , इसलिए आपके पास मौजूद कमांड और सेटिंग्स आपके लॉगिन सत्र की शुरुआत में केवल एक बार लागू होती हैं। इसलिए, जब आप एक टर्मिनल, खोल कि यह आपके लिए spawns अपना लॉगिन फ़ाइलों को पढ़ने नहीं करता है (शुरू .loginसी शैली के गोले के लिए, .profileसीमा शैली के गोले के लिए), लेकिन यह पढ़ा करता .cshrc, .bashrcआदि फ़ाइलें।


शेल को गैर-संवादात्मक लॉगिन शेल के रूप में चलाना संभव है।
jw013

सच है, लेकिन संभावित रूप से भ्रमित!
D_Bye

ksh भी एक आधुनिक शैल है :-) देखें www2.research.att.com/sw/download और AST-> ksh-> ओवरव्यू पर नेविगेट करने के लिए बाएं हाथ के मार्जिन पर मेनू का उपयोग करें। डेविड कॉर्न और ग्लेन फॉवलर की साल में कई बार एक नई रिलीज़ होती है। आप सभी को शुभकामनायें।
शेल्टर

1
@ शेल्टर - हाँ, वास्तव में। लेकिन यह एक ऐसा नहीं है जिसे मैंने कभी इस्तेमाल किया है, और मुझे कहीं न कहीं खोलना बंद करना पड़ा है! ;-)
D_Bye

आपने कहा The Bourne shell can be used as an interactive shell, just like bash or tcsh. है कि बॉर्न शेल के समान नहीं है bash?
श्री। सेब
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.