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

बैश पोजिशनल पैरामीटर 2 उदाहरण शेल स्क्रिप्ट के साथ समझाया गया

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

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

बैश दो प्रकार के पैरामीटर प्रदान करता है।

  • स्थितिगत पैरामीटर
  • विशेष पैरामीटर

इस लेख में, आइए उदाहरणों के साथ बैश स्थितीय पैरामीटर के बारे में चर्चा करें।

यह लेख हमारी चल रही बैश ट्यूटोरियल श्रृंखला का हिस्सा है।

उदाहरण 1:बैश स्थितीय पैरामीटर - $0, $1, $2 ..

पोजिशनल पैरामीटर आपकी स्क्रिप्ट को लागू होने पर दिए गए तर्क हैं। यह $1 से $N तक हो सकता है। जब N में एक से अधिक अंक होते हैं, तो इसे ${N} जैसे ब्रेसिज़ में संलग्न किया जाना चाहिए।

चर $0 बेसनाम है कार्यक्रम के रूप में इसे बुलाया गया था।

निम्न उदाहरण दो तर्क प्राप्त करता है और उन दो पूर्णांकों के बीच अंकगणितीय संक्रिया परिणाम प्रदान करता है।

<केंद्र>

सबसे पहले, नीचे दिखाए गए अनुसार अंकगणितीय.श शेल स्क्रिप्ट बनाएं।

$ cat arithmetic.sh
#!/bin/bash

echo -e "\$1=$1"
echo -e "\$2=$2"

let add=$1+$2
let sub=$1-$2
let mul=$1*$2
let div=$1/$2

echo -e "Addition=$add\nSubtraction=$sub\nMultiplication=$mul\nDivision=$div\n"

इसके बाद, नीचे दिखाए गए अनुसार उचित मापदंडों के साथ अंकगणितीय.श को निष्पादित करें।

$ ./arithmetic.sh 12 10
$1=12
$2=10
Addition=22
Subtraction=2
Multiplication=120
Division=1

उपरोक्त आउटपुट में $1 का मान 12 है, और $2 का मान 10 है।

शेल बिलिन 'लेट' शेल वेरिएबल्स पर अंकगणितीय ऑपरेशन करने की अनुमति देता है। उपरोक्त लिपि दिए गए मापदंडों पर अंकगणितीय संचालन जैसे जोड़, घटाव, गुणा और भाग करती है।

उदाहरण 2:बैश स्थितीय पैरामीटर सेट / अनसेट करें

बिल्ट इन सेट कमांड का उपयोग स्थितीय पैरामीटर को सेट और अनसेट करने के लिए किया जाता है।

सबसे पहले, नीचे दिखाए गए अनुसार positional.sh शेल स्क्रिप्ट बनाएं।

$ cat positional.sh
#!/bin/bash

# From command line
echo -e "Basename=$0"
echo -e "\$1=$1"
echo -e "\$2=$2"
echo -e "\$3=$3"

# From Set builtin
set First Second Third
echo -e "\$1=$1"
echo -e "\$2=$2"
echo -e "\$3=$3"

# Store positional parameters with -(hyphen)
set - -f -s -t
echo -e "\$1=$1"
echo -e "\$2=$2"
echo -e "\$3=$3"

# Unset positional parameter
set --
echo -e "\$1=$1"
echo -e "\$2=$2"
echo -e "\$3=$3"

उपरोक्त स्क्रिप्ट पहले कमांड लाइन तर्कों को प्रिंट करती है, फिर सेट कमांड स्थितिगत पैरामीटर को स्पष्ट रूप से सेट करती है। के साथ सेट करें - विकल्पों के अंत को संदर्भित करता है, निम्नलिखित सभी तर्क स्थितीय पैरामीटर हैं, यहां तक ​​कि वे '-' से शुरू हो सकते हैं। बिना किसी अन्य तर्क के '–' के साथ सेट करें, सभी स्थितीय मापदंडों को अनसेट करें।

इसके बाद, नीचे दिखाए अनुसार positional.sh निष्पादित करें।

$ ./positional.sh
Basename=t.sh
$1=12
$2=10
$3=
$1=First
$2=Second
$3=Third
$1=-f
$2=-s
$3=-t
$1=
$2=
$3=

अगले लेख में, उदाहरण के साथ बैश विशेष पैरामीटर के बारे में चर्चा करते हैं।


  1. rbash - एक प्रतिबंधित बैश शेल व्यावहारिक उदाहरणों के साथ समझाया गया

    लिनक्स शेल सबसे आकर्षक और शक्तिशाली में से एक है GNU /लिनक्स संचालित उपकरण। X . सहित सभी एप्लिकेशन , शेल के ऊपर बनाया गया है और लिनक्स शेल इतना शक्तिशाली है कि इसका उपयोग करके पूरे लिनक्स सिस्टम को ठीक से नियंत्रित किया जा सकता है। लिनक्स शेल का दूसरा पहलू यह है कि, यह संभावित रूप से हानिकारक हो सकत

  1. शैल ट्रेसिंग के साथ शैल स्क्रिप्ट में कमांड के निष्पादन का पता कैसे लगाएं

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

  1. बैश शैल फंक्शन ट्यूटोरियल 6 व्यावहारिक उदाहरणों के साथ

    बैश शेल फ़ंक्शन समूह के लिए एकल नाम का उपयोग करके बाद में निष्पादन के लिए कई UNIX / Linux कमांड को समूहबद्ध करने का एक तरीका है। . बैश शेल फ़ंक्शन को नियमित यूनिक्स कमांड की तरह ही निष्पादित किया जा सकता है। शेल फ़ंक्शंस को मौजूदा शेल संदर्भ में उनकी व्याख्या करने के लिए कोई नई प्रक्रिया बनाए बिना न