खोल एक इंटरफ़ेस है जिसके उपयोग से प्रोग्रामर कमांड निष्पादित कर सकता है और सीधे ऑपरेटिंग सिस्टम से इंटरैक्ट कर सकता है। शैल स्क्रिप्टिंग कमांड दे रहा है जिसे एक शेल निष्पादित कर सकता है।
शेल में भी वेरिएबल और ऑपरेटर होते हैं जिनका उपयोग इन वेरिएबल्स में हेरफेर करने के लिए किया जाता है। शेल स्क्रिप्टिंग में 5 बुनियादी ऑपरेटर होते हैं।
- अंकगणित संचालिका
- रिलेशनल ऑपरेटर्स
- बूलियन ऑपरेटर्स
- बिटवाइज ऑपरेटर्स
- फाइल टेस्ट ऑपरेटर्स
अंकगणित संचालिका
शेल स्क्रिप्टिंग में अंकगणितीय ऑपरेटरों का उपयोग सामान्य अंकगणितीय/गणितीय संचालन करने के लिए किया जाता है। शेल स्क्रिप्टिंग में 7 मान्य अंकगणितीय ऑपरेटर हैं -
-
जोड़ (+) दो ऑपरेंड (चर) जोड़ने के लिए प्रयोग किया जाता है।
-
घटाव (-) शेल स्क्रिप्टिंग में दो चर (संचालन) को घटाने के लिए प्रयोग किया जाता है।
-
गुणा (*) शेल स्क्रिप्टिंग में दो चर (संचालन) को गुणा करने के लिए उपयोग किया जाता है।
-
डिवीजन (/) शेल स्क्रिप्टिंग में दो चर (संचालन) को विभाजित करने के लिए प्रयोग किया जाता है।
-
मापांक (%) शेल स्क्रिप्टिंग में ऑपरेंड के विभाजन पर शेष को खोजने के लिए उपयोग किया जाता है।
-
इन्क्रीमेंट ऑपरेटर (++) ऑपरेटर के वर्तमान मूल्य में एक जोड़ने के लिए प्रयोग किया जाता है।
-
डिक्रीमेंट ऑपरेटर (--) ऑपरेटर के वर्तमान मूल्य से एक को घटाने के लिए प्रयोग किया जाता है।
उदाहरण
शेल स्क्रिप्टिंग में अंकगणितीय ऑपरेटर के कार्यान्वयन को दिखाने के लिए -
a =32b =23 add =$((a + b)) a और b का इको योग है $add sub =$((a - b)) इको घटाव a और b है $sub mul =$( (ए * बी)) ए और बी का इको उत्पाद है $mul div =$((a / b)) ए और बी का इको डिवीजन $divmod =$((a% b)) इको शेष है जब एक विभाजित बी है है $mod((++a)) इको इंक्रीमेंट ऑपरेटर जब "a" पर लागू होता है तो a =$a((--b)) इको डिक्रीमेंट ऑपरेटर जब "b" पर लागू होता है तो b =$b
आउटपुट
a और b का योग 55 है a और b का घटाना a का 9 उत्पाद है और b, a का 736 भाग है और b 1 शेष है जब a को विभाजित किया जाता है b एक परिणाम पर लागू होने पर 9increment ऑपरेटर होता है =33डिक्रीमेंट ऑपरेटर जब b पर लागू होता है परिणाम बी =24. में
रिलेशनल ऑपरेटर
शेल स्क्रिप्टिंग में रिलेशनल ऑपरेटर ऑपरेंड के बीच संबंधों को परिभाषित करता है। ऑपरेटर और ऑपरेंड के आधार पर इनका रिटर्न वैल्यू या तो सही या गलत होता है। शेल स्क्रिप्टिंग में 6 प्रकार के वैध रिलेशनल ऑपरेटर होते हैं -
-
==ऑपरेटर वह ऑपरेटर है जो दो ऑपरेटरों के मूल्यों की बराबरी करता है। यदि मान समान हैं तो यह सही है और अन्यथा गलत है।
-
!=ऑपरेटर वह ऑपरेटर है जो दो ऑपरेटरों के मूल्यों की बराबरी करता है और उनकी असमानता की जांच करता है। यदि मान समान नहीं हैं तो यह सही है और अन्यथा गलत है।
-
<ऑपरेटर दो ऑपरेटरों के मूल्यों की तुलना करने वाले ऑपरेटर से कम है। यदि पहले ऑपरेंड का मान सेकंड एक से छोटा है तो ऑपरेटर सही लौटाता है अन्यथा गलत लौटाता है।
-
<=ऑपरेटर ऑपरेटर से कम या उसके बराबर है जो दो ऑपरेटरों के मूल्यों की तुलना करता है। यदि पहले ऑपरेंड का मान सेकंड एक से छोटा या उसके बराबर है तो ऑपरेटर सही लौटाता है अन्यथा गलत लौटाता है।
-
>ऑपरेटर दो ऑपरेटरों के मूल्यों की तुलना करने वाले ऑपरेटर से बड़ा है। यदि पहले ऑपरेंड का मान एक सेकंड से बड़ा है तो ऑपरेटर सही लौटाता है अन्यथा गलत लौटाता है।
-
>=ऑपरेटर ऑपरेटर से बड़ा या उसके बराबर है जो दो ऑपरेटरों के मूल्यों की तुलना करता है। यदि पहले ऑपरेंड का मान सेकंड एक से बड़ा या उसके बराबर है तो ऑपरेटर सही लौटाता है अन्यथा गलत लौटाता है।
उदाहरण
a =32b =67if(($a==$b ))फिर इको a बराबर b.else echo a बराबर नहीं है b.fiif(($a!=$b ))फिर इको ए है b.else के बराबर नहीं इको a, b.fiif(($a<$b )) के बराबर है, तो echo a b से कम है। और echo a b.fiif(( $a<=$b ) से कम नहीं है। )फिर इको ए बी से कम या बराबर है। अन्यथा इको ए बी से कम या बराबर नहीं है। एफआईएफ (($a>$b))फिर इको ए बी से बड़ा है। अन्यथा इको ए बी से बड़ा नहीं है .fiif(($a>=$b ))फिर इको ए बी से बड़ा या बराबर है। अन्यथा इको ए बी.एफआई से बड़ा या बराबर नहीं है
आउटपुट
a, b के बराबर नहीं है।बूलियन ऑपरेटर
बूलियन ऑपरेटर को लॉजिकल ऑपरेटर के रूप में भी जाना जाता है, जिसका उपयोग शेल स्क्रिप्टिंग में तार्किक संचालन करने के लिए किया जाता है। शेल स्क्रिप्टिंग में 3 प्रकार के वैध लॉजिकल ऑपरेटर होते हैं -
-
तार्किक और (&&) तर्क और बूलियन के मान की गणना करता है। यदि दोनों ऑपरेंड सत्य हैं, अन्यथा असत्य हैं, तो यह सच हो जाता है।
-
तार्किक या (||) तार्किक या बूलियन ऑपरेंड के संचालन की गणना करता है। यदि दोनों ऑपरेंड झूठे हैं तो यह गलत है अन्यथा सत्य है।
-
तार्किक (!) के बराबर नहीं है पारित एकल ऑपरेटर की अस्वीकृति की गणना करता है। यदि ऑपरेंड का मान सत्य है तो यह गलत है अन्यथा सत्य है।
उदाहरण
a =trueb =falseif(($a =="true" &$b =="true")) फिर इको दोनों सच हैं। और इको दोनों सच नहीं हैं। fiif(($a =="true") || $b =="true")) फिर echo कम से कम उनमें से एक सत्य है। अन्यथा प्रतिध्वनि उनमें से कोई भी सत्य नहीं है। और इको "ए" वास्तव में सच था। फाई
आउटपुट
दोनों सत्य नहीं हैं। उनमें से कम से कम एक सत्य है, मूल रूप से सत्य था।
बिटवाइज़ ऑपरेटर वे ऑपरेटर होते हैं जो बिट वेरिएबल्स पर बिटवाइज़ ऑपरेशन करते हैं। शेल स्क्रिप्टिंग में 6 प्रकार के बिटवाइज़ ऑपरेटर होते हैं -
-
बिटवाइज और (&) वह ऑपरेटर है जो ऑपरेंड के बिट्स पर बाइनरी और ऑपरेशन करता है यानी पहले वेरिएबल का प्रत्येक बिट दूसरे ऑपरेटर के संबंधित बिट के साथ संचालित होता है।
-
बिटवाइज या (|) वह ऑपरेटर है जो ऑपरेंड के बिट्स पर बाइनरी या ऑपरेशन करता है यानी पहले वेरिएबल का प्रत्येक बिट दूसरे ऑपरेटर के संबंधित बिट के साथ संचालित होता है।
-
बिटवाइज XOR (^) वह ऑपरेटर है जो ऑपरेंड के बिट्स पर बाइनरी एक्सओआर ऑपरेशन करता है यानी पहले वेरिएबल का प्रत्येक बिट दूसरे ऑपरेटर के संबंधित बिट के साथ संचालित होता है।
-
बिटवाइज पूरक (~) वह ऑपरेटर है जो ऑपरेंड के बिट्स पर बाइनरी नॉट ऑपरेशन करता है यानी पहले वेरिएबल का प्रत्येक बिट दूसरे ऑपरेटर के संबंधित बिट के साथ संचालित होता है।
-
बिटवाइज लेफ्ट शिफ्ट (<<) वह ऑपरेटर है जो ऑपरेटर के दाईं ओर निर्दिष्ट n बार ऑपरेंड के बिट्स को बाईं ओर स्थानांतरित करता है।
-
बिटवाइज लेफ्ट शिफ्ट (>>) वह ऑपरेटर है जो ऑपरेटर के दाईं ओर निर्दिष्ट n बार ऑपरेंड के बिट्स को दाईं ओर स्थानांतरित करता है।
उदाहरण
a =14b =67bitwiseAND=$((a&b))echo Bitwise और a और b का है $bitwiseANDbitwiseOR=$((a|b))echo Bitwise या a और b का है $bitwiseORbitwiseXOR=$(( a^ b)) a और b का इको बिटवाइज़ XOR है $bitwiseXORbitiwiseComplement=$((~a))echo Bitwise Compliment of a $bitiwiseComplementleftshift=$((a<<1 ))echo लेफ्ट शिफ्ट है $leftshiftrightshift=$( ( b>>1 ))echo राइट शिफ्ट b का है $rightshift
आउटपुट
बिटवाइज और a और b का 2बिटवाइज है या a का और b का 79 है, a का बिटवाइज XOR है और b का 77बिटवाइज है, a की -15 लेफ्ट शिफ्ट 28 है, b की राइट शिफ्ट 33 है
फाइल टेस्ट ऑपरेटर
फ़ाइल परीक्षण ऑपरेटरों का उपयोग फ़ाइल के विशेष गुणों का परीक्षण करने के लिए किया जाता है। कुछ फ़ाइल परीक्षण ऑपरेटर हैं:
-
-b ऑपरेटर यह जांचने के लिए प्रयोग किया जाता है कि निर्दिष्ट फ़ाइल एक ब्लॉक विशेष फ़ाइल है या नहीं। यदि फ़ाइल एक ब्लॉक विशेष फ़ाइल है तो फ़ंक्शन सही है अन्यथा गलत लौटाता है।
-
-एस ऑपरेटर वह ऑपरेटर है जिसका उपयोग दी गई फ़ाइल के आकार की जांच करने के लिए किया जाता है। यदि फ़ाइल का आकार 0 से बड़ा है, तो यह सही है अन्यथा गलत है।
-
-r ऑपरेटर वह ऑपरेटर है जो यह जांचता है कि फ़ाइल सामग्री को पढ़ने की अनुमति दी गई है या नहीं। यदि पढ़ने की पहुंच प्रदान की जाती है तो यह सही है अन्यथा गलत है।
-
-w ऑपरेटर वह ऑपरेटर है जो यह जांचता है कि फ़ाइल में लिखने की सुविधा दी गई है या नहीं। यदि लेखन पहुंच प्रदान की जाती है तो यह सच है अन्यथा गलत है।
-
-x ऑपरेटर ऑपरेटर हैं जो जांचते हैं कि फ़ाइल को निष्पादित करने की पहुंच दी गई है या नहीं। यदि निष्पादन पहुंच प्रदान की जाती है, तो यह सही है अन्यथा गलत है।