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

प्रतीक चिन्ह

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

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

स्क्रिप्ट चालू रखें

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



[मुझे@लिनक्सबॉक्स ~]$ sys_info_page

ट्विन2 के लिए सिस्टम सूचना रिपोर्ट

[मुझे@लिनक्सबॉक्स ~]$ sys_info_page

ट्विन2 के लिए सिस्टम सूचना रिपोर्ट


लिनक्सबॉक्स के लिए सिस्टम सूचना रिपोर्ट

जनरेट किया गया 03/19/2009 04:02:10 अपराह्न EDT, मेरे द्वारा


लिनक्सबॉक्स के लिए सिस्टम सूचना रिपोर्ट

जनरेट किया गया 03/19/2009 04:02:10 अपराह्न EDT, मेरे द्वारा



हम देखते हैं कि टाइमस्टैम्प के बाद हमारे आउटपुट में कुछ रिक्त पंक्तियाँ हैं, लेकिन हम कारण के बारे में निश्चित नहीं हो सकते हैं। यदि हम कुछ फीडबैक शामिल करने के लिए फ़ंक्शन बदलते हैं:



रिपोर्ट_अपटाइम() {

इको "फ़ंक्शन रिपोर्ट_अपटाइम निष्पादित।"

वापसी

}


रिपोर्ट_डिस्क_स्पेस() {

इको "फ़ंक्शन रिपोर्ट_डिस्क_स्पेस निष्पादित।"

वापसी

}


रिपोर्ट_होम_स्पेस () {

इको "फ़ंक्शन रिपोर्ट_होम_स्पेस निष्पादित।"

वापसी

}

रिपोर्ट_अपटाइम() {

इको "फ़ंक्शन रिपोर्ट_अपटाइम निष्पादित।"

वापसी

}


रिपोर्ट_डिस्क_स्पेस() {

इको "फ़ंक्शन रिपोर्ट_डिस्क_स्पेस निष्पादित।"

वापसी

}


रिपोर्ट_होम_स्पेस () {

इको "फ़ंक्शन रिपोर्ट_होम_स्पेस निष्पादित।"

वापसी

}


और स्क्रिप्ट को फिर से चलाएँ:



[मुझे@लिनक्सबॉक्स ~]$ sys_info_page

लिनक्सबॉक्स के लिए सिस्टम सूचना रिपोर्ट

लिनक्सबॉक्स के लिए सिस्टम सूचना रिपोर्ट

जेनरेट किया गया 03/20/2009 05:17:26 पूर्वाह्न EDT, मेरे द्वारा फ़ंक्शन रिपोर्ट_अपटाइम निष्पादित।

फ़ंक्शन रिपोर्ट_डिस्क_स्पेस निष्पादित। फ़ंक्शन रिपोर्ट_होम_स्पेस निष्पादित।

[मुझे@लिनक्सबॉक्स ~]$ sys_info_page

लिनक्सबॉक्स के लिए सिस्टम सूचना रिपोर्ट

लिनक्सबॉक्स के लिए सिस्टम सूचना रिपोर्ट

जेनरेट किया गया 03/20/2009 05:17:26 पूर्वाह्न EDT, मेरे द्वारा फ़ंक्शन रिपोर्ट_अपटाइम निष्पादित।

फ़ंक्शन रिपोर्ट_डिस्क_स्पेस निष्पादित। फ़ंक्शन रिपोर्ट_होम_स्पेस निष्पादित।

स्क्रिप्ट चालू रखें


अब हम देखते हैं कि, वास्तव में, हमारे तीन कार्य निष्पादित हो रहे हैं।

हमारे फ़ंक्शन ढांचे के स्थापित होने और काम करने के साथ, अब कुछ फ़ंक्शन कोड को विकसित करने का समय आ गया है। पहले रिपोर्ट_अपटाइम समारोह:


रिपोर्ट_अपटाइम() {

बिल्ली <<- _EOF_

सिस्टम उपरिकाल

$(अपटाइम)

_ईओएफ_

वापसी

}

रिपोर्ट_अपटाइम() {

बिल्ली <<- _EOF_

सिस्टम उपरिकाल

$(अपटाइम)

_ईओएफ_

वापसी

}


यह बहुत सीधा है. हम सेक्शन हेडर और आउटपुट को आउटपुट करने के लिए यहां दस्तावेज़ का उपयोग करते हैं उपरिकाल आदेश, से घिरा हुआ कमांड की फ़ॉर्मेटिंग को संरक्षित करने के लिए टैग। रिपोर्ट_डिस्क_स्पेस कार्य समान है:


रिपोर्ट_डिस्क_स्पेस() {

बिल्ली <<- _EOF_

डिस्क स्थान उपयोग

$(डीएफ -एच)

_ईओएफ_

वापसी

}

रिपोर्ट_डिस्क_स्पेस() {

बिल्ली <<- _EOF_

डिस्क स्थान उपयोग

$(डीएफ -एच)

_ईओएफ_

वापसी

}


यह फ़ंक्शन उपयोग करता है df -h डिस्क स्थान की मात्रा निर्धारित करने के लिए आदेश। अंत में, हम इसका निर्माण करेंगे रिपोर्ट_होम_स्पेस समारोह:


रिपोर्ट_होम_स्पेस () {

बिल्ली <<- _EOF_

गृह स्थान उपयोग

$(du -sh /home/*)

_ईओएफ_

वापसी

}

रिपोर्ट_होम_स्पेस () {

बिल्ली <<- _EOF_

गृह स्थान उपयोग

$(du -sh /home/*)

_ईओएफ_

वापसी

}


हम उपयोग du के साथ कमान एसएच इस कार्य को करने के लिए विकल्प. हालाँकि, यह समस्या का पूर्ण समाधान नहीं है। हालाँकि यह कुछ प्रणालियों (उदाहरण के लिए उबंटू) पर काम करेगा, लेकिन यह दूसरों पर काम नहीं करेगा। इसका कारण यह है कि कई प्रणालियाँ घरेलू निर्देशिकाओं को विश्व-पठनीय होने से रोकने के लिए उनकी अनुमतियाँ निर्धारित करती हैं, जो एक उचित सुरक्षा उपाय है। इन प्रणालियों पर, रिपोर्ट_होम_स्पेस कार्य, जैसा लिखा है, वैसा ही होगा


की छवि

केवल तभी काम करें जब हमारी स्क्रिप्ट सुपरयूज़र विशेषाधिकारों के साथ चलती हो। एक बेहतर समाधान यह होगा कि स्क्रिप्ट उपयोगकर्ता के विशेषाधिकारों के अनुसार अपने व्यवहार को समायोजित करे। हम इसे अगले अध्याय में उठाएंगे।


आपकी .bashrc फ़ाइल में शेल फ़ंक्शन

शेल फ़ंक्शंस उपनामों के लिए उत्कृष्ट प्रतिस्थापन करते हैं, और वास्तव में व्यक्तिगत उपयोग के लिए छोटे कमांड बनाने की पसंदीदा विधि हैं। उपनाम उनके द्वारा समर्थित कमांड और शेल सुविधाओं के प्रकार में बहुत सीमित हैं, जबकि शेल फ़ंक्शंस किसी भी चीज़ की अनुमति देते हैं जिसे स्क्रिप्ट किया जा सकता है। उदाहरण के लिए, यदि हमें पसंद आया रिपोर्ट_डिस्क_स्पेस शेल फ़ंक्शन जिसे हमने अपनी स्क्रिप्ट के लिए विकसित किया है, हम नाम से एक समान फ़ंक्शन बना सकते हैं ds हमारे लिए ।Bashrc फ़ाइल:

डीएस () {

इको "$HOSTNAME के ​​लिए डिस्क स्थान उपयोग" df -h

}


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