Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> बाश प्रोग्रामिंग

शैल स्क्रिप्टिंग भाषा में गणितीय अभिव्यक्तियों की गणना करना - भाग V

आप लोग शैल स्क्रिप्ट को समझ कर सहज महसूस कर रहे होंगे और अपनी आवश्यकता के अनुसार उन्हें धाराप्रवाह लिखना। यह इस ट्यूटोरियल श्रृंखला की आखिरी पोस्ट है, जहां हम थोड़ा जटिल गणितीय संचालन करेंगे। स्क्रिप्टिंग भाषा का उपयोग करना। शैल स्क्रिप्टिंग के अंतिम चार लेख श्रृंखला जो कालानुक्रमिक रूप से हैं।

शैल स्क्रिप्टिंग भाषा में गणितीय अभिव्यक्तियों की गणना करना - भाग V
  1. मूल Linux शेल स्क्रिप्टिंग भाषा युक्तियों को समझें - भाग I
  2. 5 शैल स्क्रिप्ट्स शेल प्रोग्रामिंग सीखने के लिए Linux के नए शौक़ीन लोगों के लिए - भाग II
  3. लिनक्स बैश स्क्रिप्टिंग की दुनिया के माध्यम से नौकायन - भाग III
  4. लिनक्स शेल प्रोग्रामिंग का गणितीय पहलू - भाग IV

फिबोनैचि सीरीज से शुरू करते हैं

संख्याओं का एक पैटर्न जहां प्रत्येक संख्या दो पूर्ववर्ती संख्याओं का योग है। श्रृंखला 0 . है , 1 , 1 , 2 , 3 , 5 , 8 …… परिभाषा के अनुसार, Fibonccai . में पहले दो नंबर अनुक्रम 0 और 1 हैं।

स्क्रिप्ट 1:Fibonacci.sh
#!/bin/bash
echo "How many numbers do you want of Fibonacci series ?" 
  read total 
  x=0 
  y=1 
  i=2 
  echo "Fibonacci Series up to $total terms :: " 
  echo "$x" 
  echo "$y" 
  while [ $i -lt $total ] 
  do 
      i=`expr $i + 1 ` 
      z=`expr $x + $y ` 
      echo "$z" 
      x=$y 
      y=$z 
  done
नमूना आउटपुट
[[email protected] ~]# chmod 755 Fibonacci.sh
[[email protected] ~]# ./Fibonacci.sh

How many numbers do you want of Fibonacci series ? 
10 
Fibonacci Series up to 10 terms :: 
0 
1 
1 
2 
3 
5 
8 
13 
21 
34

Fibonacci.sh डाउनलोड करें

आप इस तथ्य से परिचित हैं कि कंप्यूटर केवल बाइनरी प्रारूप में समझता है, अर्थात, '0 ' और '1 ' और हम में से अधिकांश ने दशमलव . का रूपांतरण सीखने का आनंद लिया है करने के लिए बाइनरी . इस जटिल ऑपरेशन के लिए एक साधारण स्क्रिप्ट लिखने के बारे में क्या।

स्क्रिप्ट 2:Decimal2Binary.sh
#!/bin/bash 

for ((i=32;i>=0;i--)); do 
        r=$(( 2**$i)) 
        Probablity+=( $r  ) 
done 

[[ $# -eq 0 ]] &echo -en "Decimal\t\tBinary\n" 
for input_int in [email protected]; do 
s=0 
test ${#input_int} -gt 11 &printf "%-10s\t" "$input_int" 

        for n in ${Probablity[@]}; do 

                if [[ $input_int -lt ${n} ]]; then 
                        [[ $s = 1 ]] && printf "%d" 0 
                else 
                        printf "%d" 1 ; s=1 
                        input_int=$(( $input_int - ${n} )) 
                fi 
        done 
echo -e 
done
नमूना आउटपुट
[[email protected] ~]# chmod 755 Decimal2Binary.sh
[[email protected] ~]# ./Decimal2Binary.sh 1121

Decimal		Binary 
1121      	10001100001

नोट :उपरोक्त स्क्रिप्ट रन टाइम पर इनपुट स्वीकार करती है, जो स्पष्ट रूप से एक सहायता है।

Decimal2Binary.sh डाउनलोड करें

खैर इनबिल्ट 'बीसी ' आदेश एक दशमलव को रूपांतरित कर सकता है करने के लिए बाइनरी सिंगल लाइन की स्क्रिप्ट में। अपने टर्मिनल पर दौड़ें।

[[email protected] ~]# echo "obase=2; NUM" | bc

'NUM . बदलें ' उस नंबर के साथ, जिसे आप दशमलव . से कनवर्ट करना चाहते हैं करने के लिए बाइनरी . उदाहरण के लिए,

[[email protected] ~]# echo "obase=2; 121" | bc 

1111001

आगे हम एक स्क्रिप्ट लिखेंगे जो उपरोक्त स्क्रिप्ट के ठीक विपरीत काम करती है, बाइनरी वैल्यूज को कनवर्ट करना से दशमलव

स्क्रिप्ट 3:Binary2Decimal.sh
#!/bin/bash 
echo "Enter a number :" 
read Binary 
if [ $Binary -eq 0 ] 
then 
echo "Enter a valid number " 
else 
while [ $Binary -ne 0 ] 
do 
Bnumber=$Binary 
Decimal=0 
power=1 
while [ $Binary -ne 0 ] 
do 
rem=$(expr $Binary % 10 ) 
Decimal=$((Decimal+(rem*power))) 
power=$((power*2)) 
Binary=$(expr $Binary / 10) 
done 
echo  " $Decimal" 
done 
fi
नमूना आउटपुट
[[email protected] ~]# chmod 755 Binary2Decimal.sh
[[email protected] ~]# ./Binary2Decimal.sh

Enter a number : 
11 
3

नोट :उपरोक्त कार्य टर्मिनल में 'bc . का उपयोग करके किया जा सकता है ' के रूप में आदेश।

[[email protected] ~]# echo "ibase=2; BINARY" | bc

'बाइनरी . बदलें 'बाइनरी नंबर के साथ, जैसे,

[[email protected] ~]# echo "ibase=2; 11010101" | bc 

213

Binary2Decimal.sh डाउनलोड करें

इसी तरह आप ऑक्टल . से रूपांतरण लिख सकते हैं , हेक्साडेसिमल से दशमलव और इसके विपरीत स्वयं। उपरोक्त परिणाम को 'bc . का उपयोग करके टर्मिनल में पूरा करना 'आदेश है।

दशमलव से अष्टाधारी
[[email protected] ~]# echo "obase=8; Decimal" | bc
दशमलव से हेक्साडेसिमल
[[email protected] ~]# echo "obase=16; Decimal" | bc
अक्टूबर से दशमलव
[[email protected] ~]# echo "ibase=8; Octal" | bc
हेक्साडेसिमल से दशमलव तक
[[email protected] ~]# echo "ibase=16; Hexadecimal" | bc
बाइनरी टू ऑक्टल
[[email protected] ~]# echo "ibase=2;obase=8 Binary" | bc

कुछ सामान्य अंक विवरण के साथ शेल स्क्रिप्टिंग भाषा में प्रयुक्त परीक्षण है।

Test : INTEGER1 -eq INTEGER2
Meaning: INTEGER1 is equal to INTEGER2
Test : INTEGER1 -ge INTEGER2
Meaning: INTEGER1 is greater than or equal to INTEGER2
Test: INTEGER1 -gt INTEGER2
Meaning: INTEGER1 is greater than INTEGER2
Test:INTEGER1 -le INTEGER2
Meaning: INTEGER1 is less than or equal to INTEGER2
Test: INTEGER1 -lt INTEGER2
Meaning: INTEGER1 is less than INTEGER2
Test: INTEGER1 -ne INTEGER2
Meaning: INTEGER1 is not equal to INTEGER2

इस लेख और लेख श्रृंखला के लिए बस इतना ही। यह शैल स्क्रिप्ट श्रृंखला का अंतिम लेख है और इसका मतलब यह नहीं है कि स्क्रिप्टिंग भाषा पर कोई लेख यहां फिर से नहीं होगा, इसका मतलब केवल शेल स्क्रिप्टिंग ट्यूटोरियल खत्म हो गया है और जब भी हमें आप लोगों से जानने योग्य कोई दिलचस्प विषय या एक प्रश्न मिलता है, तो हमें श्रृंखला को जारी रखने में खुशी होगी यहाँ।

स्वस्थ रहें, जुड़े रहें और Tecmint . से जुड़े रहें . बहुत जल्द मैं एक और दिलचस्प विषय लेकर आ रहा हूँ, जिसे आप लोग पढ़ना पसंद करेंगे। टिप्पणी अनुभाग में अपने बहुमूल्य विचार साझा करें ।


  1. शेल स्क्रिप्टिंग भाषा में लिनक्स "चर" की एक अंतर्दृष्टि - भाग 9

    हम पहले ही Linux Shell Scripting . पर लेखों की एक श्रृंखला लिख ​​चुके हैं जिसका उस समय गर्मजोशी से स्वागत किया गया था और यह अब भी काफी प्रासंगिक था। शेल स्क्रिप्टिंग पर लेखों के संग्रह का लिंक यहां दिया गया है। लिनक्स शैल स्क्रिप्टिंग सीखें यहां इस लेख में हम चर . देखेंगे , इसका निष्पादन और शेल स

  1. कस्टम शैल फ़ंक्शंस और पुस्तकालयों को कैसे लिखें और उपयोग करें

    Linux में, शेल स्क्रिप्ट कई अलग-अलग तरीकों से हमारी मदद करती हैं, जिसमें कुछ सिस्टम व्यवस्थापन कार्यों को निष्पादित करना या स्वचालित करना, सरल कमांड लाइन टूल बनाना और बहुत कुछ शामिल हैं। इस गाइड में, हम नए लिनक्स उपयोगकर्ताओं को दिखाएंगे कि कस्टम शेल स्क्रिप्ट को मज़बूती से कहाँ संग्रहीत किया जाए,

  1. बैश स्क्रिप्टिंग परिचय ट्यूटोरियल 5 व्यावहारिक उदाहरणों के साथ

    हमारी चल रही यूनिक्स सेड और यूनिक्स Awk श्रृंखला के समान, हम बैश स्क्रिप्टिंग पर कई लेख पोस्ट करेंगे, जो सभी बैश स्क्रिप्टिंग तकनीकों को व्यावहारिक उदाहरणों के साथ कवर करेगा। शेल एक प्रोग्राम है, जो यूजर कमांड की व्याख्या करता है। कमांड या तो उपयोगकर्ता द्वारा सीधे दर्ज किए जाते हैं या शेल स्क्रिप्