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

प्रतीक चिन्ह

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

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

उपसंहार

स्थितीय मापदंडों को जोड़ने के साथ, अब हम काफी कार्यात्मक स्क्रिप्ट लिख सकते हैं। सरल, दोहराए जाने वाले कार्यों के लिए, स्थितीय पैरामीटर बहुत उपयोगी शेल फ़ंक्शन लिखना संभव बनाते हैं जिन्हें उपयोगकर्ता के शेल में रखा जा सकता है .bashrc फ़ाइल.

हमारे sys_info_page कार्यक्रम की जटिलता और परिष्कार में वृद्धि हुई है। यहां एक संपूर्ण सूची दी गई है, जिसमें नवीनतम परिवर्तनों पर प्रकाश डाला गया है:



#! / Bin / bash


# sys_info_page: सिस्टम सूचना पृष्ठ को आउटपुट करने के लिए प्रोग्राम


PROGNAME=$(आधारनाम $0)

शीर्षक='$HOSTNAME के ​​लिए सिस्टम सूचना रिपोर्ट' CURRENT_TIME=$(दिनांक +'%x %r %Z')

TIMESTAMP='$USER द्वारा $CURRENT_TIME जेनरेट किया गया'


रिपोर्ट_अपटाइम () { बिल्ली <<- _EOF_

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

$(अपटाइम)

_ईओएफ_ वापसी

#! / Bin / bash


# sys_info_page: सिस्टम सूचना पृष्ठ को आउटपुट करने के लिए प्रोग्राम


PROGNAME=$(आधारनाम $0)

शीर्षक='$HOSTNAME के ​​लिए सिस्टम सूचना रिपोर्ट' CURRENT_TIME=$(दिनांक +'%x %r %Z')

TIMESTAMP='$USER द्वारा $CURRENT_TIME जेनरेट किया गया'


रिपोर्ट_अपटाइम () { बिल्ली <<- _EOF_

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

$(अपटाइम)

_ईओएफ_ वापसी


}


रिपोर्ट_डिस्क_स्पेस () { बिल्ली <<- _EOF_

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

$(डीएफ -एच)

_ईओएफ_ वापसी

}


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

यदि [[ $(id -u) -eq 0 ]]; फिर बिल्ली <<- _EOF_

गृह स्थान उपयोग (सभी उपयोगकर्ता)

$(du -sh /home/*)

_ईओएफ_

अन्य

बिल्ली <<- _EOF_

गृह स्थान उपयोग ($USER)

$(डु -श $HOME)

_ईओएफ_

फाई वापसी

}


उपयोग () {

इको "$PROGNAME: उपयोग: $PROGNAME [-f फ़ाइल | -i]" वापसी

}


राइट_एचटीएमएल_पेज () { कैट <<- _ईओएफ_

$शीर्षक

$शीर्षक

$टाइमस्टैम्प

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

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

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

_ईओएफ_ वापसी

}


# प्रक्रिया कमांड लाइन विकल्प

}


रिपोर्ट_डिस्क_स्पेस () { बिल्ली <<- _EOF_

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

$(डीएफ -एच)

_ईओएफ_ वापसी

}


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

यदि [[ $(id -u) -eq 0 ]]; फिर बिल्ली <<- _EOF_

गृह स्थान उपयोग (सभी उपयोगकर्ता)

$(du -sh /home/*)

_ईओएफ_

अन्य

बिल्ली <<- _EOF_

गृह स्थान उपयोग ($USER)

$(डु -श $HOME)

_ईओएफ_

फाई वापसी

}


उपयोग () {

इको "$PROGNAME: उपयोग: $PROGNAME [-f फ़ाइल | -i]" वापसी

}


राइट_एचटीएमएल_पेज () { कैट <<- _ईओएफ_

$शीर्षक

$शीर्षक

$टाइमस्टैम्प

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

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

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

_ईओएफ_ वापसी

}


# प्रक्रिया कमांड लाइन विकल्प

की छवि

उपसंहार


इंटरैक्टिव=

फ़ाइलनाम=


जबकि [[ -n $1 ]]; केस $1 इन करें

-एफ | --फ़ाइल)

पाली

फ़ाइलनाम=$1

;;

इंटरैक्टिव=

फ़ाइलनाम=


जबकि [[ -n $1 ]]; केस $1 इन करें

-एफ | --फ़ाइल)


-मैं | --इंटरैक्टिव) इंटरैक्टिव=1

;;

-एच | --help) उपयोग निकास

;;

*) उपयोग >&2

बाहर निकलें 1

;;

ईएसएसी शिफ्ट

किया


# इंटरैक्टिव मोड


यदि [[ -n $इंटरैक्टिव ]]; तब जबकि सत्य; करना

पढ़ें -p "आउटपुट फ़ाइल का नाम दर्ज करें: " फ़ाइल नाम यदि [[ -ई $ फ़ाइल नाम ]]; तब

पढ़ें -पी "'$फ़ाइलनाम' मौजूद है। अधिलेखित करें? [y/n/q] > " मामले में $उत्तर

Y|y) टूटना

;;

Q|q) प्रतिध्वनि "कार्यक्रम समाप्त हो गया।" बाहर निकलना

;;

*) जारी रखना

;;

esac

elif [[ -z $फ़ाइलनाम ]]; फिर जारी रखें

अन्य

तोड़ना

fi

किया

fi


# आउटपुट html पेज


यदि [[ -n $ फ़ाइल नाम ]]; तब

यदि $filename && [[ -f $filename ]] को स्पर्श करें; फिर_html_page > $filename लिखें

अन्य

-मैं | --इंटरैक्टिव) इंटरैक्टिव=1

;;

-एच | --help) उपयोग निकास

;;

*) उपयोग >&2

बाहर निकलें 1

;;

ईएसएसी शिफ्ट

किया


# इंटरैक्टिव मोड


यदि [[ -n $इंटरैक्टिव ]]; तब जबकि सत्य; करना

पढ़ें -p "आउटपुट फ़ाइल का नाम दर्ज करें: " फ़ाइल नाम यदि [[ -ई $ फ़ाइल नाम ]]; तब

पढ़ें -पी "'$फ़ाइलनाम' मौजूद है। अधिलेखित करें? [y/n/q] > " मामले में $उत्तर

Y|y) टूटना

;;

Q|q) प्रतिध्वनि "कार्यक्रम समाप्त हो गया।" बाहर निकलना

;;

*) जारी रखना

;;

esac

elif [[ -z $फ़ाइलनाम ]]; फिर जारी रखें

अन्य

तोड़ना

fi

किया

fi


# आउटपुट html पेज


यदि [[ -n $ फ़ाइल नाम ]]; तब

यदि $filename && [[ -f $filename ]] को स्पर्श करें; फिर_html_page > $filename लिखें

अन्य


प्रतिध्वनि "$PROGNAME: फ़ाइल '$फ़ाइलनाम' नहीं लिख सकता" >&2 निकास 1

फाई अन्य

लिखें_एचटीएमएल_पेज

fi

प्रतिध्वनि "$PROGNAME: फ़ाइल '$फ़ाइलनाम' नहीं लिख सकता" >&2 निकास 1

फाई अन्य

लिखें_एचटीएमएल_पेज

fi


हमने अभी तक काम पूरा नहीं किया है. अभी भी बहुत सी चीजें हैं जो हम कर सकते हैं और सुधार कर सकते हैं।


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