कसरी र किन तपाईं $ SHLVL चर प्रयोग गर्नुहुनेछ

$ SHLVL चर प्रयोग गर्न को लागी प्रयोग गरिएको छ कि तपाईं कति गोडाहरू गहिरो हुनुहुन्छ। यदि तपाईं यसको द्वारा भ्रमित हुनुहुन्छ भने यो सुरूमा सुरू गर्न लायक छ।

शेल के हो?

एक खोलले आदेशहरू लिन्छ र तिनीहरूलाई अपरेटिङ अपरेटिङ सिस्टममा प्रदर्शन गर्दछ। धेरै लिनक्स प्रणालीहरूमा शेल कार्यक्रम भनिन्छ (Bourne Again Shell) तर सी शेल (Tcsh) र KORN शेल (केश) सहित अन्यहरू पनि उपलब्ध छन्।

लिनक्स शेल कसरी पहुँच गर्ने

सामान्यतया प्रयोगकर्ताको रूपमा तपाईंले शेल कार्यक्रमसँग अन्तरक्रियाको रूपमा टर्मिनल एमुलेशन प्रोग्रामको प्रयोग गरेर जस्तै XTerm, कन्सोल वा गनोम टर्मिनल।

यदि तपाइँ सञ्झ्याल प्रबन्धकहरू चलाइरहेका छन् जस्तै Openbox वा डेस्कटप वातावरण जस्ता GNOME वा केडीईको रूपमा तपाईले मेनु वा ड्यासबाट टर्मिनल इमुलेटर फेला पार्नुहुनेछ। धेरै प्रणालीहरूमा शर्टकट CTRL ALT र T एक टर्मिनल सञ्झ्याल पनि खुल्नेछ।

वैकल्पिक रूपमा तपाइँ अर्को टिटी (टेलिफाइटर) लाई स्विच गर्न सक्नुहुन्छ जुन कमांड लाइन शेलमा सिधा पहुँच प्रदान गर्दछ। तपाईं यो CTRL एएलटी र F1 वा CTRL एल्ट र F2 थिच्दै यसलाई गर्न सक्नुहुनेछ।

शेल स्तर के हो?

जब तपाईँले शेलमा एक आदेश चलाउनुहुन्छ यो शेल तह भनिन्छ केहि चीज गर्दछ। शेल भित्र तपाईं अर्को शेल खोल्न सक्नुहुनेछ जसले यसलाई सब्बिल वा खोल खोल्दछ।

यसैले आमाबाबुको शेल शायद स्तर 1 शेललाई मानिन्छ र बाल खोल एक स्तर 2 शेल हुनेछ।

शैल स्तर कसरी प्रदर्शन गर्ने

यो लेख को शीर्षक को आधार मा कुनै आश्चर्य को रूप मा नहीं आना चाहिए जसको तपाईं बता सकते हो कि शेल स्तर तपाईं चल रहे हो $ SHLVL चर प्रयोग गरेर।

तपाईँले हालै टाइपमा चलिरहेको शेल स्तर हेर्नको लागि निम्नलिखित:

$ SHLVL गूंज

यदि तपाईं टर्मिनल सञ्झ्यालमा माथिको आदेश चलाउनुहुन्छ भने तपाईलाई आश्चर्यचकित हुन सक्छ कि परिणाम फर्काएको 2 हो।

यदि तपाई टिटी प्रयोग गरेर त्यही आदेश चलाउनुहुन्छ भने परिणाम 1 हो।

यो प्रश्न किन सोध्न सक्छ? ठीक छ डेस्कटप वातावरण तपाई चलिरहनु भएको छ खोलका शीर्षमा। त्यो शेल स्तर 1 हुनेछ। कुनैपनि टर्मिनल सन्झ्याल तपाईंले डेस्कटप वातावरण भित्रबाट खोलिएको डेस्कटप वातावरण खोलिएको शेलको बच्चा हुनसक्छ र त्यसैले शेल तह 2 भन्दा अन्य कुनै पनि नम्बरमा सुरु गर्न सक्दैन।

टिटि डेस्कटप वातावरण चलिरहेको छैन र त्यसैले केवल एक स्तर 1 शेल हुन्छ।

सब्सक्राइब कसरी गर्ने?

गोला र सब्स्लेको अवधारणा परीक्षण गर्न सबै भन्दा सरल तरिका निम्नानुसार छ। टर्मिनल सञ्झ्याल खोल्नुहोस् र निम्न टाइप गर्नुहोस्:

$ SHLVL गूंज

जस्तै हामी टर्मिनल सञ्झ्यालबाट जान्दछौं न्यूनतम शेल तह 2 हो।

अब टर्मिनल सञ्झ्यालमा निम्न प्रकार टाइप गर्नुहोस्:

sh

आफ्नो आदेश मा एक अन्तरक्रियात्मक खोल चलाउँछ जसको अर्थ तपाईं शेल वा सब्सल भित्र एक शेल प्रयोग गर्दै हुनुहुन्छ।

यदि तपाइँ अब यो फेरि टाइप गर्नुभयो भने:

$ SHLVL गूंज

तपाईले देख्नुहुनेछ कि शेल स्तर 3 मा सेट गरिएको छ। सब्ल भित्र भित्रको कमांड चलिरहेको सब्ले सब्सक्राइब खोल्नेछ र यसैले शेल तह 4 मा हुनेछ।

शेल स्तर किन महत्त्वपूर्ण छ?

तपाईँको स्क्रिप्ट भित्र चरको दायराबारे सोच गर्दा शेल स्तर महत्त्वपूर्ण छ।

केही सरलसँग सुरू गरौं:

कुकुर = maisie
$ कुकुर गन

यदि तपाइँले शेलमा माथिल्लो आदेश चलाउनुहुन्छ भने शब्द maisie टर्मिनल सञ्झ्यालमा प्रदर्शित हुनेछ।

निम्नलाई टाइप गरेर नयाँ खोल खोल्नुहोस्:

sh

यदि तपाइँ यो आदेश चलाउनुहुन्छ भने तपाईंले देख्नुहुनेछ कि केहि पनि वास्तवमा फर्केर आउनेछ:

$ कुकुर गन

यही कारणले कि $ कुत्ता चरम शेल स्तरमा मात्र उपलब्ध छ 2. यदि सब्स्क्रिप्टबाट बाहिर निस्कन र बाहिर $ कुकुर गन चलाउनुहोस् भने शब्द maisie फेरि प्रदर्शित हुनेछ।

यो शेल भित्रको वैश्विक चरको व्यवहारको बारेमा पनि सोच्न योग्य छ।

नयाँ टर्मिनल सञ्झ्यालमा सुरू गर्नुहोस् र निम्न टाइप गर्नुहोस्:

निर्यात कुकुर = maisie
$ कुकुर गन

तपाईं शब्द maisie प्रदर्शित भएको आशाको रूपमा। अब एक सब्ल खोल्नुहोस् र फेरि क्लिक गर्नुहोस् $ कुक गन। यो समय तपाईले देख्नुहुनेछ कि maisie शब्द प्रदर्शित हुन्छ तापनि तपाईं सब्स्क्राइममा हुनुहुन्छ।

यसको कारण यो निर्यात आदेश $ कुकुर चर वैश्विक बनाइएको छ। सब्बेल भित्र $ कुकुर चर परिवर्तन गर्दा तपाईं निर्यात आदेश प्रयोग गर्नुभन्दा पनि यसको आमाबाबु गोलाहरूमा कुनै असर छैन।

आशा छ कि यसबाट तपाईंले देख्न सक्नुहुनेछ कि शेल स्तरको बारेमा तपाईंले काम गरिरहनुभएको छ जब स्क्रिप्ट लेख्दा केही महत्व छ।

मैले दिएका उदाहरणहरू धेरै सरल हुन्छन् तर यो एक शेल स्क्रिप्टको लागि अर्को शेल स्क्रिप्टमा पुर्याउनको लागि यो सामान्यतया सामान्य हो जुन यसमा अन्य शेल लिपिको सबै कल अब फरक स्तरमा दौडिरहेको छ। शेल स्तर जान्न धेरै महत्त्वपूर्ण हुन सक्छ।