OnWorks Linux ו-Windows Online WorkStations

לוגו

אירוח מקוון בחינם עבור תחנות עבודה

<הקודם | תוכן | הבא>

פריצה מלולאה

bash מספק שתי פקודות מובנות שניתן להשתמש בהן כדי לשלוט על זרימת התוכנית בתוך לולאות. הפקודה break מסיימת מיד לולאה, ושליטה בתוכנית מתחדשת עם ההצהרה הבאה אחרי הלולאה. הפקודה המשך גורמת לדילוג על שאר הלולאה, והשליטה בתוכנית מתחדשת עם האיטרציה הבאה של הלולאה. כאן אנו רואים גרסה של תוכנית while-menu הכוללת גם הפסקה וגם המשך:


#! / bin / bash


# while-menu2: תוכנית מידע מערכת מבוססת תפריט DELAY=3 # מספר שניות להצגת תוצאות

בעוד נכון; לַעֲשׂוֹת

ברור

חתול <<- _EOF_

בבקשה תבחר:


1. הצג מידע מערכת

2. הצג שטח דיסק

3. הצג את ניצול שטח הבית

0. עזוב


_EOF_

קרא -p "הזן בחירה [0-3] > "


if [[ $REPLY =~ ^[0-3]$ ]]; אז אם [[ $REPLY == 1 ]]; לאחר מכן

echo זמן פעילות של "Hostname: $HOSTNAME".

לישון $DELAY

להמשיך

fi

if [[ $REPLY == 2 ]]; ואז df -h

לישון $DELAY

להמשיך

fi

if [[ $REPLY == 3 ]]; לאחר מכן

if [[ $(id -u) -eq 0 ]]; לאחר מכן

echo "ניצול שטח ביתי (כל המשתמשים)" du -sh /home/*

אחר

#! / bin / bash


# while-menu2: תוכנית מידע מערכת מבוססת תפריט DELAY=3 # מספר שניות להצגת תוצאות

בעוד נכון; לַעֲשׂוֹת

ברור

חתול <<- _EOF_

בבקשה תבחר:


1. הצג מידע מערכת

2. הצג שטח דיסק

3. הצג את ניצול שטח הבית

0. עזוב


_EOF_

קרא -p "הזן בחירה [0-3] > "


if [[ $REPLY =~ ^[0-3]$ ]]; אז אם [[ $REPLY == 1 ]]; לאחר מכן

echo זמן פעילות של "Hostname: $HOSTNAME".

לישון $DELAY

להמשיך

fi

if [[ $REPLY == 2 ]]; ואז df -h

לישון $DELAY

להמשיך

fi

if [[ $REPLY == 3 ]]; לאחר מכן

if [[ $(id -u) -eq 0 ]]; לאחר מכן

echo "ניצול שטח ביתי (כל המשתמשים)" du -sh /home/*

אחר


echo "ניצול שטח ביתי ($USER)" du -sh $HOME

fi

לישון $DELAY

להמשיך

fi

if [[ $REPLY == 0 ]]; ואז לשבור

fi

אחר

echo "ערך לא חוקי." לישון $DELAY

פי בוצע

echo "התוכנית הופסקה."

echo "ניצול שטח ביתי ($USER)" du -sh $HOME

fi

לישון $DELAY

להמשיך

fi

if [[ $REPLY == 0 ]]; ואז לשבור

fi

אחר

echo "ערך לא חוקי." לישון $DELAY

פי בוצע

echo "התוכנית הופסקה."


בגרסה זו של התסריט, הגדרנו an לולאה אין סופית (כזה שלעולם לא מסתיים מעצמו) על ידי שימוש ב- נָכוֹן פקודה לספק סטטוס יציאה בזמן. מאז נָכוֹן תמיד ייצא עם סטטוס יציאה של אפס, הלולאה לא תיגמר לעולם. זוהי טכניקת סקריפטים נפוצה באופן מפתיע. מכיוון שהלולאה לעולם לא תסתיים מעצמה, זה תלוי במתכנת לספק דרך כלשהי לפרוץ מהלולאה כשהזמן מתאים. בתסריט הזה, ה לשבור הפקודה משמשת ליציאה מהלולאה כאשר הבחירה "0" נבחרת. ה המשך הפקודה נכללה בסוף אפשרויות הסקריפט האחרות כדי לאפשר ביצוע יעיל יותר. על ידי שימוש ב להמשיך, הסקריפט ידלג על קוד שאינו נחוץ כאשר מזוהה בחירה. לדוגמה, אם הבחירה "1" נבחרה ומזוהה, אין סיבה לבדוק את הבחירות האחרות.


 

מחשוב ענן מערכת ההפעלה המוביל ב-OnWorks: