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

Bash एग्जिट स्टेटस में मास्टर करें: एक व्यावहारिक ट्यूटोरियल

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

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

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

$ ls -alF $ lpr filename $ grep "string" filename

शेल कमांड एग्जिट स्टेटस

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

एग्जिट मान एग्जिट स्टेटस
0 (शून्य) सफलता
गैर-शून्य विफलता
2 गलत उपयोग
127 कमांड नहीं मिली
126 निष्पादन योग्य नहीं

$? शेल वेरिएबल

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

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

शेल-कमांड एग्जिट स्टेटस को समझाने वाला नमूना शेल स्क्रिप्ट

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

$ cat exitstatus.sh #! /bin/bash echo -e "Successful execution" echo -e "=====================" echo "hello world" # एग्जिट स्टेटस 0 लौटाता है, क्योंकि उपरोक्त कमांड सफल है। echo "Exit status" $? echo -e "Incorrect usage" echo -e "=====================" ls --option # गलत उपयोग, इसलिए एग्जिट स्टेटस 2 होगी। echo "Exit status" $? echo -e "Command Not found" echo -e "=====================" bashscript # एग्जिट स्टेटस 127 लौटाता है, क्योंकि bashscript कमांड नहीं मिली echo "Exit status" $? echo -e "Command is not an executable" echo -e "=============================" ls -l execution.sh ./execution.sh # एग्जिट स्टेटस 126 लौटाता है, क्योंकि यह निष्पादन योग्य नहीं है। 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. Bash वेरिएबल्स में मास्टर करें: ग्लोबल और लोकल उपयोग के 6 व्यावहारिक उदाहरण Bash वेरिएबल्स में मास्टर करें: ग्लोबल और लोकल उपयोग के 6 व्यावहारिक उदाहरण

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

  1. Bash शेल फ़ंक्शन्स में मास्टर करें: 6 व्यावहारिक उदाहरण और टिप्स Bash शेल फ़ंक्शन्स में मास्टर करें: 6 व्यावहारिक उदाहरण और टिप्स

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

  1. Bash स्क्रिप्टिंग में मास्टर करें: 5 वास्तविक-विश्व उदाहरणों के साथ एक व्यावहारिक परिचय Bash स्क्रिप्टिंग में मास्टर करें: 5 वास्तविक-विश्व उदाहरणों के साथ एक व्यावहारिक परिचय

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