Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

शेल स्क्रिप्टिंग में बेसिक ऑपरेटर्स


शेल एक इंटरफेस है जिसका उपयोग करके प्रोग्रामर कमांड एक्जीक्यूट कर सकता है और ऑपरेटिंग सिस्टम के साथ सीधे इंटरैक्ट कर सकता है। शेल स्क्रिप्टिंग वे कमांड्स देना है जिन्हें शेल एक्जीक्यूट कर सकता है।

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

  • अंकगणितीय ऑपरेटर्स
  • संबंधपरक ऑपरेटर्स
  • बूलियन ऑपरेटर्स
  • बिटवाइज़ ऑपरेटर्स
  • फाइल टेस्ट ऑपरेटर्स

अंकगणितीय ऑपरेटर्स

शेल स्क्रिप्टिंग में अंकगणितीय ऑपरेटर्स का उपयोग सामान्य अंकगणितीय/गणितीय ऑपरेशन्स करने के लिए किया जाता है। शेल स्क्रिप्टिंग में 7 वैध अंकगणितीय ऑपरेटर्स होते हैं:

  • जोड़ (+) का उपयोग दो ऑपरेंड्स (वेरिएबल्स) को जोड़ने के लिए किया जाता है।

  • घटाव (-) का उपयोग शेल स्क्रिप्टिंग में दो वेरिएबल्स (ऑपरेंड्स) को घटाने के लिए किया जाता है।

  • गुणा (*) का उपयोग शेल स्क्रिप्टिंग में दो वेरिएबल्स (ऑपरेंड्स) को गुणा करने के लिए किया जाता है।

  • भाग (/) का उपयोग शेल स्क्रिप्टिंग में दो वेरिएबल्स (ऑपरेंड्स) को विभाजित करने के लिए किया जाता है।

  • मॉड्युलस (%) का उपयोग शेल स्क्रिप्टिंग में ऑपरेंड्स के विभाजन पर शेषफल खोजने के लिए किया जाता है।

  • इन्क्रीमेंट ऑपरेटर (++) का उपयोग ऑपरेटर के वर्तमान मान में एक जोड़ने के लिए किया जाता है।

  • डिक्रीमेंट ऑपरेटर (--) का उपयोग ऑपरेटर के वर्तमान मान से एक घटाने के लिए किया जाता है।

उदाहरण

शेल स्क्रिप्टिंग में अंकगणितीय ऑपरेटर के कार्यान्वयन को दिखाने के लिए:

a = 32 
b = 23 
add = $((a + b)) 
echo sum of a and b is $add 
sub = $((a - b)) 
echo Subtraction of a and b is $sub 
mul = $((a * b)) 
echo product of a and b is $mul 
div = $((a / b)) 
echo division of a and b is $div 
mod = $((a % b)) 
echo remainder when a is divided b is $mod 
((++a)) 
echo Increment operator when applied on "a" results into a = $a 
((--b)) 
echo Decrement operator when applied on "b" results into b = $b

आउटपुट

sum of a and b is 55 
Subtraction of a and b is 9 
product of a and b is 736 
division of a and b is 1 
remainder when a is divided b is 9 
Increment operator when applied on a results into a = 33 
Decrement operator when applied on b results into b = 24

संबंधपरक ऑपरेटर

शेल स्क्रिप्टिंग में संबंधपरक ऑपरेटर ऑपरेंड्स के बीच संबंधों को परिभाषित करता है। इनका रिटर्न वैल्यू ऑपरेटर और ऑपरेंड्स के आधार पर या तो ट्रू या फॉल्स होता है। शेल स्क्रिप्टिंग में 6 प्रकार के वैध संबंधपरक ऑपरेटर्स होते हैं:

  • == ऑपरेटर वह ऑपरेटर है जो दो ऑपरेटर्स के मानों को बराबर करता है। यह ट्रू लौटाता है यदि मान बराबर हैं और अन्यथा फॉल्स लौटाता है।

  • != ऑपरेटर वह ऑपरेटर है जो दो ऑपरेटर्स के मानों को बराबर करता है और उनकी असमानता की जांच करता है। यह ट्रू लौटाता है यदि मान बराबर नहीं हैं और अन्यथा फॉल्स लौटाता है।

  • < ऑपरेटर दो ऑपरेटर्स के मानों की तुलना करने वाला कम-से-कम ऑपरेटर है। यदि पहले ऑपरेंड का मान दूसरे से छोटा है तो ऑपरेटर ट्रू लौटाता है अन्यथा फॉल्स।

  • <= ऑपरेटर कम-से-कम-या-बराबर ऑपरेटर है जो दो ऑपरेटर्स के मानों की तुलना करता है। यदि पहले ऑपरेंड का मान दूसरे से छोटा या बराबर है तो ऑपरेटर ट्रू लौटाता है अन्यथा फॉल्स।

  • > ऑपरेटर दो ऑपरेटर्स के मानों की तुलना करने वाला अधिक-से-अधिक ऑपरेटर है। यदि पहले ऑपरेंड का मान दूसरे से बड़ा है तो ऑपरेटर ट्रू लौटाता है अन्यथा फॉल्स।

  • >= ऑपरेटर अधिक-से-अधिक-या-बराबर ऑपरेटर है जो दो ऑपरेटर्स के मानों की तुलना करता है। यदि पहले ऑपरेंड का मान दूसरे से बड़ा या बराबर है तो ऑपरेटर ट्रू लौटाता है अन्यथा फॉल्स।

उदाहरण

a = 32 
b = 67 
if(( $a==$b )) 
then 
    echo a is equal to b. 
else 
    echo a is not equal to b. 
fi 
if(( $a!=$b )) 
then 
    echo a is not equal to b. 
else 
    echo a is equal to b. 
fi 
if(( $a<$b )) 
then 
    echo a is less than b. 
else 
    echo a is not less than b. 
fi 
if(( $a<=$b )) 
then 
    echo a is less than or equal to b. 
else 
    echo a is not less than or equal to b. 
fi 
if(( $a>$b )) 
then 
    echo a is greater than b. 
else 
    echo a is not greater than b. 
fi 
if(( $a>=$b )) 
then 
    echo a is greater than or equal to b. 
else 
    echo a is not greater than or equal to b. 
fi

आउटपुट

a is not equal to b. 
a is not equal to b. 
a is less than b. 
a is less than or equal to b. 
a is not greater than b. 
a is not greater than or equal to b.

बूलियन ऑपरेटर

बूलियन ऑपरेटर को लॉजिकल ऑपरेटर्स के रूप में भी जाना जाता है जिनका उपयोग शेल स्क्रिप्टिंग में लॉजिकल ऑपरेशन्स करने के लिए किया जाता है। शेल स्क्रिप्टिंग में 3 प्रकार के वैध लॉजिकल ऑपरेटर्स होते हैं:

  • लॉजिकल AND (&&) बूलियन मान के लॉजिकल AND की गणना करता है। यह ट्रू लौटाता है यदि दोनों ऑपरेंड्स ट्रू हैं, अन्यथा फॉल्स।

  • लॉजिकल OR (||) बूलियन ऑपरेंड्स के लॉजिकल OR ऑपरेशन की गणना करता है। यह फॉल्स लौटाता है यदि दोनों ऑपरेंड्स फॉल्स हैं अन्यथा ट्रू।

  • लॉजिकल नॉट इक्वल टू (!) पास किए गए सिंगल ऑपरेटर के निगेशन की गणना करता है। यदि ऑपरेंड का मान ट्रू है तो यह फॉल्स लौटाता है अन्यथा ट्रू।

उदाहरण

a = true 
b = false 
if(( $a == "true" & $b == "true" )) 
then 
    echo Both are true. 
else 
    echo Both are not true. 
fi 
if(( $a == "true" || $b == "true" )) 
then 
    echo Atleast one of them is true. 
else 
    echo None of them is true. 
fi 
if(( ! $a == "true" )) 
then 
    echo "a" was intially false. 
else 
    echo "a" was intially true. 
fi

आउटपुट

Both are not true. 
Atleast one of them is true 
a was intially true.

बिटवाइज़ ऑपरेटर वे ऑपरेटर्स हैं जो बिट वेरिएबल्स पर बिटवाइज़ ऑपरेशन्स करते हैं। शेल स्क्रिप्टिंग में 6 प्रकार के बिटवाइज़ ऑपरेटर्स होते हैं:

  • बिटवाइज़ AND (&) वह ऑपरेटर है जो ऑपरेंड्स के बिट्स पर बाइनरी AND ऑपरेशन करता है यानी पहले वेरिएबल के प्रत्येक बिट को दूसरे ऑपरेटर के संबंधित बिट के साथ ऑपरेट किया जाता है।

  • बिटवाइज़ OR (|) वह ऑपरेटर है जो ऑपरेंड्स के बिट्स पर बाइनरी OR ऑपरेशन करता है यानी पहले वेरिएबल के प्रत्येक बिट को दूसरे ऑपरेटर के संबंधित बिट के साथ ऑपरेट किया जाता है।

  • बिटवाइज़ XOR (^) वह ऑपरेटर है जो ऑपरेंड्स के बिट्स पर बाइनरी XOR ऑपरेशन करता है यानी पहले वेरिएबल के प्रत्येक बिट को दूसरे ऑपरेटर के संबंधित बिट के साथ ऑपरेट किया जाता है।

  • बिटवाइज़ कॉम्प्लीमेंट (~) वह ऑपरेटर है जो ऑपरेंड्स के बिट्स पर बाइनरी NOT ऑपरेशन करता है यानी पहले वेरिएबल के प्रत्येक बिट को दूसरे ऑपरेटर के संबंधित बिट के साथ ऑपरेट किया जाता है।

  • बिटवाइज़ लेफ्ट शिफ्ट (<<) वह ऑपरेटर है जो ऑपरेंड के बिट्स को ऑपरेटर के दाएं निर्दिष्ट n बार बाएं शिफ्ट करता है।

  • बिटवाइज़ राइट शिफ्ट (>>) वह ऑपरेटर है जो ऑपरेंड के बिट्स को ऑपरेटर के दाएं निर्दिष्ट n बार दाएं शिफ्ट करता है।

उदाहरण

a = 14 
b = 67 
bitwiseAND=$(( a&b )) 
echo Bitwise AND of a and b is $bitwiseAND 
bitwiseOR=$(( a|b )) 
echo Bitwise OR of a and b is $bitwiseOR 
bitwiseXOR=$(( a^b )) 
echo Bitwise XOR of a and b is $bitwiseXOR 
bitiwiseComplement=$(( ~a )) 
echo Bitwise Compliment of a is $bitiwiseComplement 
leftshift=$(( a<<1 )) 
echo Left Shift of a is $leftshift 
rightshift=$(( b>>1 )) 
echo Right Shift of b is $rightshift

आउटपुट

Bitwise AND of a and b is 2 
Bitwise OR of a and b is 79 
Bitwise XOR of a and b is 77 
Bitwise Compliment of a is -15 
Left Shift of a is 28 
Right Shift of b is 33

फाइल टेस्ट ऑपरेटर

फाइल टेस्ट ऑपरेटर्स का उपयोग फाइल के विशेष गुणों का परीक्षण करने के लिए किया जाता है। कुछ फाइल टेस्ट ऑपरेटर्स हैं:

  • -b ऑपरेटर का उपयोग यह जांचने के लिए किया जाता है कि निर्दिष्ट फाइल ब्लॉक स्पेशल फाइल है या नहीं। यदि फाइल ब्लॉक स्पेशल फाइल है तो फंक्शन ट्रू लौटाता है अन्यथा फॉल्स।

  • -s ऑपरेटर वह ऑपरेटर है जो दी गई फाइल के आकार की जांच करता है। यदि फाइल का आकार 0 से अधिक है, तो यह ट्रू लौटाता है अन्यथा फॉल्स।

  • -r ऑपरेटर वे ऑपरेटर्स हैं जो जांचते हैं कि फाइल कंटेंट पढ़ने की एक्सेस दी गई है या नहीं। यदि रीड एक्सेस दी गई है तो यह ट्रू लौटाता है अन्यथा फॉल्स।

  • -w ऑपरेटर वे ऑपरेटर्स हैं जो जांचते हैं कि फाइल में लिखने की एक्सेस दी गई है या नहीं। यदि राइट एक्सेस दी गई है तो यह ट्रू लौटाता है अन्यथा फॉल्स।

  • -x ऑपरेटर वे ऑपरेटर्स हैं जो जांचते हैं कि फाइल को एक्जीक्यूट करने की एक्सेस दी गई है या नहीं। यदि एक्जीक्यूशन एक्सेस दी गई है तो यह ट्रू लौटाता है अन्यथा फॉल्स।


  1. जावास्क्रिप्ट में रेस्ट और स्प्रेड ऑपरेटर्स जावास्क्रिप्ट में रेस्ट और स्प्रेड ऑपरेटर्स

    परिचय रेस्ट ऑपरेटर (...) हमें किसी भी संख्या में आर्गुमेंट्स के साथ फ़ंक्शन को कॉल करने और फिर उन अतिरिक्त आर्गुमेंट्स को एक ऐरे के रूप में एक्सेस करने की अनुमति देता है। यह ऐरे या ऑब्जेक्ट्स को डीस्ट्रक्चर करने में भी सक्षम बनाता है। स्प्रेड ऑपरेटर (...) हमें ऐरे जैसे इटरेबल को उसके व्यक्तिगत एलिम

  1. शेल स्क्रिप्टिंग में Heredoc मास्टर करें: एक व्यावहारिक गाइड शेल स्क्रिप्टिंग में Heredoc मास्टर करें: एक व्यावहारिक गाइड

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

  1. मास्टर लिनक्स शेल बेसिक्स: शुरुआती स्क्रिप्टिंग के लिए आवश्यक टिप्स मास्टर लिनक्स शेल बेसिक्स: शुरुआती स्क्रिप्टिंग के लिए आवश्यक टिप्स

    तस्वीरें शब्दों से ज्यादा बोलती हैं और नीचे दी गई तस्वीर लिनक्स के कामकाज के बारे में सब कुछ कहती है।   भी पढ़ें 5 शेल स्क्रिप्ट्स शेल प्रोग्रामिंग सीखने के लिए - भाग II लिनक्स BASH स्क्रिप्टिंग की दुनिया में नौकायन - भाग III लिनक्स शेल को समझना शेल: एक कमांड-लाइन इंटरप्रेटर जो यूज़र को ऑपर