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

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

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

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

कुछ सामान्य यूनिक्स कमांड जिन्हें आप कमांड लाइन पर निष्पादित करते हैं शेल कमांड हैं। उदाहरण के लिए, ls, lpr और grep कमांड।

$ ls -alF

$ lpr filename

$ grep "string" filename

शेल कमांड से बाहर निकलने की स्थिति

कमांड का रिटर्न वैल्यू इसकी एग्जिट स्टेटस है, या 128 + एन अगर कमांड को सिग्नल एन द्वारा समाप्त किया जाता है। एग्जिट स्टेटस का इस्तेमाल कमांड के निष्पादन के परिणाम (सफलता / विफलता) की जांच के लिए किया जाता है। यदि निकास स्थिति शून्य है, तो आदेश सफलता है। यदि आदेश विफल हो जाता है तो बाहर निकलने की स्थिति शून्य नहीं होगी।

निकास मूल्य निकास स्थिति
0 (शून्य) सफल
शून्य नहीं विफलता
2 गलत उपयोग
127 कमांड नहीं मिला
126 निष्पादन योग्य नहीं

$? शैल चर

शेल चर नाम $? एक विशेष बिल्ट-इन वेरिएबल है जिसमें निष्पादित अंतिम कमांड की निकास स्थिति होती है।

  • खोल फ़ंक्शन निष्पादन के बाद, $? किसी फ़ंक्शन में निष्पादित अंतिम कमांड की निकास स्थिति लौटाता है।
  • खोल स्क्रिप्ट निष्पादन के बाद, $? स्क्रिप्ट में निष्पादित अंतिम कमांड की निकास स्थिति लौटाता है।

शैल-कमांड से बाहर निकलने की स्थिति की व्याख्या करने वाली शैल स्क्रिप्ट का नमूना

निम्नलिखित exitstatus.sh शेल-स्क्रिप्ट विभिन्न शेल-कमांड निकास स्थिति के उदाहरण दिखाता है।

$ cat exitstatus.sh
#! /bin/bash

echo -e "Successful execution"
echo -e "====================="
echo "hello world"
# Exit status returns 0, because the above command is a success.
echo "Exit status" $? 

echo -e "Incorrect usage"
echo -e "====================="
ls --option
# Incorrect usage, so exit status will be 2.
echo "Exit status" $? 

echo -e "Command Not found"
echo -e "====================="
bashscript
# Exit status returns 127, because bashscript command not found
echo "Exit status" $? 

echo -e "Command is not an executable"
echo -e "============================="
ls -l execution.sh
./execution.sh
# Exit status returns 126, because its not an executable.
echo "Exit status" $?

अब, नमूना शेल स्क्रिप्ट द्वारा दी गई विभिन्न निकास प्रतिमाओं को देखने के लिए ऊपर दिए गए exitstatus.sh को निष्पादित करें।

$ bash exitstatus.sh
Successful execution
=====================
hello world
Exit status 0
Incorrect usage
=====================
ls: unrecognized option `--option'
Try `ls --help' for more information.
Exit status 2
Command Not found
=====================
exitstaus.sh: line 15: bashscript: command not found
Exit status 127
Command is not an executable
=============================
-rw-r--r-- 1 root root 659 Mar 9 13:36 execution.sh
exitstatus.sh: line 21: ./execution.sh: Permission denied
Exit status 126

नोट:किसी फ़ंक्शन या कमांड के रिटर्न वैल्यू की जांच करना प्रोग्रामर की मुख्य जिम्मेदारी में से एक है। कोई भी कोड लिखते समय यह आपका दूसरा स्वभाव बन जाना चाहिए।

<केंद्र>
  1. बैश वैरिएबल ट्यूटोरियल - 6 प्रैक्टिकल बैश ग्लोबल और लोकल वेरिएबल उदाहरण

    यह लेख हमारी चल रही बैश ट्यूटोरियल श्रृंखला का हिस्सा है। किसी भी अन्य प्रोग्रामिंग भाषाओं की तरह, बैश भी चर प्रदान करता है। बैश चर जानकारी के लिए अस्थायी भंडारण प्रदान करते हैं जिसकी कार्यक्रम के जीवनकाल के दौरान आवश्यकता होगी।सिंटैक्स: VARNAME=VALUE नोट: वेरिएबल असाइनमेंट में = साइन के आसपास कोई

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

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

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

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