मेनू
एक सामान्य प्रकार की अन्तरक्रियाशीलता कहलाती है मेनू चालित. मेनू-संचालित कार्यक्रमों में, उपयोगकर्ता को विकल्पों की एक सूची प्रस्तुत की जाती है और एक को चुनने के लिए कहा जाता है। उदाहरण के लिए, हम एक ऐसे कार्यक्रम की कल्पना कर सकते हैं जो निम्नलिखित प्रस्तुत करता हो:
कृपया चयन कीजिए:
1. सिस्टम जानकारी प्रदर्शित करें
2. डिस्क स्थान प्रदर्शित करें
3. गृह स्थान उपयोग प्रदर्शित करें
0. छोड़ो
चयन दर्ज करें [0-3] >
कृपया चयन कीजिए:
1. सिस्टम जानकारी प्रदर्शित करें
2. डिस्क स्थान प्रदर्शित करें
3. गृह स्थान उपयोग प्रदर्शित करें
0. छोड़ो
चयन दर्ज करें [0-3] >
हमने अपने लेखन से जो सीखा उसका उपयोग करना sys_info_page प्रोग्राम, हम उपरोक्त मेनू पर कार्य करने के लिए एक मेनू-संचालित प्रोग्राम बना सकते हैं:
#! / Bin / bash
# रीड-मेनू: एक मेनू संचालित सिस्टम सूचना कार्यक्रम स्पष्ट
प्रतिध्वनि"
कृपया चयन कीजिए:
1. सिस्टम जानकारी प्रदर्शित करें
2. डिस्क स्थान प्रदर्शित करें
3. गृह स्थान उपयोग प्रदर्शित करें
0. छोड़ो"
पढ़ें -p "चयन दर्ज करें [0-3] > "
#! / Bin / bash
# रीड-मेनू: एक मेनू संचालित सिस्टम सूचना कार्यक्रम स्पष्ट
प्रतिध्वनि"
कृपया चयन कीजिए:
1. सिस्टम जानकारी प्रदर्शित करें
2. डिस्क स्थान प्रदर्शित करें
3. गृह स्थान उपयोग प्रदर्शित करें
0. छोड़ो"
पढ़ें -p "चयन दर्ज करें [0-3] > "
यदि [[ $उत्तर =~ ^[0-3]$ ]]; फिर यदि [[ $उत्तर == 0 ]]; तब
प्रतिध्वनि "कार्यक्रम समाप्त हो गया।" बाहर निकलना
fi
यदि [[ $उत्तर == 1 ]]; फिर "होस्टनाम: $HOSTNAME" अपटाइम को प्रतिध्वनित करें
निकास
fi
यदि [[ $उत्तर == 2 ]]; फिर डीएफ -एच
निकास
fi
यदि [[ $उत्तर == 3 ]]; तब
यदि [[ $(id -u) -eq 0 ]]; तब
इको "होम स्पेस यूटिलाइजेशन (सभी उपयोगकर्ता)" du -sh /home/*
अन्य
इको "होम स्पेस यूटिलाइजेशन ($USER)" डु -श $HOME
फाई निकास
फाई अन्य
प्रतिध्वनि "अमान्य प्रविष्टि।" >&2 निकास 1
fi
यदि [[ $उत्तर =~ ^[0-3]$ ]]; फिर यदि [[ $उत्तर == 0 ]]; तब
प्रतिध्वनि "कार्यक्रम समाप्त हो गया।" बाहर निकलना
fi
यदि [[ $उत्तर == 1 ]]; फिर "होस्टनाम: $HOSTNAME" अपटाइम को प्रतिध्वनित करें
निकास
fi
यदि [[ $उत्तर == 2 ]]; फिर डीएफ -एच
निकास
fi
यदि [[ $उत्तर == 3 ]]; तब
यदि [[ $(id -u) -eq 0 ]]; तब
इको "होम स्पेस यूटिलाइजेशन (सभी उपयोगकर्ता)" du -sh /home/*
अन्य
इको "होम स्पेस यूटिलाइजेशन ($USER)" डु -श $HOME
फाई निकास
फाई अन्य
प्रतिध्वनि "अमान्य प्रविष्टि।" >&2 निकास 1
fi
यह लिपि तार्किक रूप से दो भागों में विभाजित है। पहला भाग मेनू प्रदर्शित करता है और उपयोगकर्ता से प्रतिक्रिया इनपुट करता है। दूसरा भाग प्रतिक्रिया की पहचान करता है और चयनित कार्रवाई करता है। के उपयोग पर ध्यान दें निकास इस स्क्रिप्ट में कमांड. इसका उपयोग यहां किसी कार्रवाई के बाद स्क्रिप्ट को अनावश्यक कोड निष्पादित करने से रोकने के लिए किया जाता है। किसी प्रोग्राम में एकाधिक निकास बिंदुओं की उपस्थिति आम तौर पर एक बुरा विचार है (इससे प्रोग्राम तर्क को समझना कठिन हो जाता है), लेकिन यह इस स्क्रिप्ट में काम करता है।