ऑनवर्क्स लिनक्स और विंडोज ऑनलाइन वर्कस्टेशन

प्रतीक चिन्ह

वर्कस्टेशन के लिए मुफ्त होस्टिंग ऑनलाइन

<पिछला | विषय-सूची | अगला>

एक पाश से बाहर निकलना

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


#! / Bin / bash


# while-menu2: एक मेनू संचालित सिस्टम सूचना कार्यक्रम DELAY=3 # परिणाम प्रदर्शित करने के लिए सेकंड की संख्या

जबकि सच है; करना

स्पष्ट

बिल्ली <<- _EOF_

कृपया चयन कीजिए:


1. सिस्टम जानकारी प्रदर्शित करें

2. डिस्क स्थान प्रदर्शित करें

3. गृह स्थान उपयोग प्रदर्शित करें

0. छोड़ो


_ईओएफ_

पढ़ें -p "चयन दर्ज करें [0-3] > "


यदि [[ $उत्तर =~ ^[0-3]$ ]]; फिर यदि [[ $उत्तर == 1 ]]; तब

इको "होस्टनाम: $HOSTNAME" अपटाइम

सो जाओ $देरी

जारी रखने के

fi

यदि [[ $उत्तर == 2 ]]; फिर डीएफ -एच

सो जाओ $देरी

जारी रखने के

fi

यदि [[ $उत्तर == 3 ]]; तब

यदि [[ $(id -u) -eq 0 ]]; तब

इको "होम स्पेस यूटिलाइजेशन (सभी उपयोगकर्ता)" du -sh /home/*

अन्य

#! / Bin / bash


# while-menu2: एक मेनू संचालित सिस्टम सूचना कार्यक्रम DELAY=3 # परिणाम प्रदर्शित करने के लिए सेकंड की संख्या

जबकि सच है; करना

स्पष्ट

बिल्ली <<- _EOF_

कृपया चयन कीजिए:


1. सिस्टम जानकारी प्रदर्शित करें

2. डिस्क स्थान प्रदर्शित करें

3. गृह स्थान उपयोग प्रदर्शित करें

0. छोड़ो


_ईओएफ_

पढ़ें -p "चयन दर्ज करें [0-3] > "


यदि [[ $उत्तर =~ ^[0-3]$ ]]; फिर यदि [[ $उत्तर == 1 ]]; तब

इको "होस्टनाम: $HOSTNAME" अपटाइम

सो जाओ $देरी

जारी रखने के

fi

यदि [[ $उत्तर == 2 ]]; फिर डीएफ -एच

सो जाओ $देरी

जारी रखने के

fi

यदि [[ $उत्तर == 3 ]]; तब

यदि [[ $(id -u) -eq 0 ]]; तब

इको "होम स्पेस यूटिलाइजेशन (सभी उपयोगकर्ता)" du -sh /home/*

अन्य


इको "होम स्पेस यूटिलाइजेशन ($USER)" डु -श $HOME

fi

सो जाओ $देरी

जारी रखने के

fi

यदि [[ $उत्तर == 0 ]]; फिर तोड़ो

fi

अन्य

प्रतिध्वनि "अमान्य प्रविष्टि।" सो जाओ $देरी

फाई हो गया

प्रतिध्वनि "कार्यक्रम समाप्त हो गया।"

इको "होम स्पेस यूटिलाइजेशन ($USER)" डु -श $HOME

fi

सो जाओ $देरी

जारी रखने के

fi

यदि [[ $उत्तर == 0 ]]; फिर तोड़ो

fi

अन्य

प्रतिध्वनि "अमान्य प्रविष्टि।" सो जाओ $देरी

फाई हो गया

प्रतिध्वनि "कार्यक्रम समाप्त हो गया।"


स्क्रिप्ट के इस संस्करण में, हमने एक सेट अप किया है अंतहीन पाश (जो कभी भी अपने आप समाप्त नहीं होता) का उपयोग करके <strong>उद्देश्य</strong> को निकास स्थिति प्रदान करने का आदेश जब. के बाद से <strong>उद्देश्य</strong> हमेशा शून्य की निकास स्थिति के साथ बाहर निकल जाएगा, लूप कभी समाप्त नहीं होगा। यह आश्चर्यजनक रूप से सामान्य स्क्रिप्टिंग तकनीक है। चूँकि लूप कभी भी अपने आप समाप्त नहीं होगा, यह प्रोग्रामर पर निर्भर है कि वह सही समय आने पर लूप से बाहर निकलने का कोई तरीका प्रदान करे। इस स्क्रिप्ट में, तोड़ना "0" चयन चुने जाने पर लूप से बाहर निकलने के लिए कमांड का उपयोग किया जाता है। जारी रखना अधिक कुशल निष्पादन की अनुमति देने के लिए अन्य स्क्रिप्ट विकल्पों के अंत में कमांड को शामिल किया गया है। का उपयोग करके जारी रखने के, स्क्रिप्ट उस कोड को छोड़ देगी जिसकी चयन की पहचान होने पर आवश्यकता नहीं है। उदाहरण के लिए, यदि "1" चयन चुना और पहचाना जाता है, तो अन्य चयनों के परीक्षण का कोई कारण नहीं है।


 

OnWorks पर शीर्ष OS क्लाउड कंप्यूटिंग: