बिलिन कमांड exit
शेल से बाहर निकलता है ( बैश के संदर्भ से ):
exit [n]
शेल से बाहर निकलें, शेल के माता-पिता के लिए n की स्थिति लौटाते हैं। यदि n को छोड़ दिया गया है, तो निकास स्थिति निष्पादित अंतिम कमांड की है। EXIT पर कोई भी जाल शेल समाप्त होने से पहले निष्पादित किया जाता है।
फ़ाइल के अंत में भागना भी बाहर निकलता है, अंतिम कमांड के रिटर्न कोड को वापस करता है, इसलिए हां, एक अंतिम exit 0
स्क्रिप्ट को सफल स्थिति से बाहर निकालेगा, भले ही पिछले आदेशों की निकास स्थिति की परवाह किए बिना। (अर्थात, स्क्रिप्ट को अंतिम तक पहुँचना exit
।) एक स्क्रिप्ट के अंत में आप उपयोग कर सकते हैं true
या :
शून्य का निकास कोड प्राप्त कर सकते हैं ।
बेशक बीच में स्क्रिप्ट को समाप्त करने के लिए आप अक्सर exit
अंदर से उपयोग करेंगे if
।
इन्हें 1 प्रिंट करना चाहिए ( $?
पिछले कमांड द्वारा दिया गया एग्ज़िट कोड):
sh -c "false" ; echo $?
sh -c "false; exit" ; echo $?
जबकि यह 0 प्रिंट होना चाहिए:
sh -c "false; exit 0" ; echo $?
मुझे यकीन नहीं है कि अगर स्क्रिप्ट की अवधारणा "विफल" हो जाती exit
है, तो समझ में आता है, क्योंकि स्क्रिप्ट द्वारा विफल करने के लिए चलाए गए कुछ आदेशों के लिए यह काफी संभव है, लेकिन स्क्रिप्ट को सफल होने के लिए। यह स्क्रिप्ट के लेखक पर निर्भर करता है कि वह तय करे कि सफलता क्या है और क्या नहीं।
साथ ही, बाहर निकलने के कोड के लिए मानक सीमा 0..255 है। 127 से ऊपर के कोड शेल द्वारा एक सिग्नल द्वारा समाप्त की गई प्रक्रिया को इंगित करने के लिए उपयोग किए जाते हैं, लेकिन उन्हें सामान्य तरीके से वापस किया जा सकता है। wait
सिस्टम कॉल वास्तव में एक व्यापक मान देता है, बाकी युक्त स्थिति बिट्स ऑपरेटिंग सिस्टम द्वारा निर्धारित के साथ।
exit 0
, तो यह स्क्रिप्ट के भीतर क्या होता है, इसकी परवाह किए बिना 0 के निकास कोड के साथ बाहर निकल जाएगा।