PracticU

סקריפט עם case

בלי כתוביותעם כתוביות
PracticU › קורס לינוקס למתקדמים - הסמכה בינלאומית - Linux - Red Hat - RHCSA / RHCE › סקריפט עם case
מילון מושגים:
סקריפט - קובץ המכיל רצף פקודות שמבוצעות על ידי מפרש, לרוב כדי להפוך משימות לאוטומטיות.
שרת - מחשב או תוכנה שמספקים שירות למחשבים אחרים (לקוחות) ברשת, למשל אחסון קבצים, אתר אינטרנט או מסד נתונים, ומגיבים לבקשות שלהם.
שירות - תוכנה שרצה ברקע ומספקת פונקציונליות לרכיבים אחרים, לרוב ללא ממשק משתמש, ומופעלת אוטומטית עם המערכת.
פורט - מספר שמזהה שירות או תהליך מסוים בתוך מחשב, ומאפשר לכוון תעבורת רשת ליעד הנכון. למשל פורט 80 ל-HTTP.
משתנה - שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.
גיבוי - העתק שמור של נתונים שנשמר כדי לאפשר שחזור במקרה של תקלה, מחיקה או פגיעה במקור.
תחביר - אוסף הכללים של שפת תכנות הקובעים כיצד לכתוב קוד תקין. הפרתם גורמת לשגיאת תחביר.

סקריפט עם case
פקודת case מאפשרת לסקריפט לבצע פעולה שונה לפי הבחירה של המשתמש מתוך תפריט. כך אפשר לתת למשתמשים בלי ידע בלינוקס תפריט פשוט עם מספרים, ולהפעיל לכל אפשרות את הפקודות המתאימות.
בניית התפריט
1. הצגת האפשרויות: פקודת echo מציגה למשתמש את הרשימה, למשל: 1 לבדיקת פינג לשרת, 2 לבדיקת סטטוס של שירות, 3 לבדיקה אם פורט פתוח.
2. קליטת הבחירה: פקודת read שומרת את תשובת המשתמש במשתנה.
3. מבנה case: אחרי case מופיע המשתנה, ואחריו כל אפשרות עם סוגר ופקודות שיבוצעו עבורה. הבלוק נסגר בעזרת esac, שהוא case הפוך.
4. אפשרות לא קיימת: אם המשתמש בוחר משהו שלא הוגדר, לא מתבצעת פעולה. אפשר להוסיף אפשרות ברירת מחדל שתציג הודעה.
דוגמאות לשימוש
המרצה מציין שמנגנון כזה שימושי לאנשי Help Desk, שמפעילים סקריפט ובוחרים את הבדיקה המתאימה לתקלה. הוא שימושי גם לסקריפט גיבוי שמבקש מה לגבות ואיזה סוג קבצים.
שימו לב
אפשר לבחור מילים במקום מספרים, וגם אז המבנה נשאר זהה. בזמן הכתיבה כדאי לבדוק כל אפשרות לחוד, כי הטעויות הנפוצות בסקריפטים מסוג זה הן שגיאות תחביר וסגירה חסרה.
אחרי השיעור תוכלו לבנות סקריפט אינטראקטיבי עם תפריט מסודר בעזרת case.
השיעור הבא בקורס: משימות מתוזמנות - crontab
לחץ כאן להורדת הורדת קבצי Script של לינוקס שהיו בסרטים
מילון מושגים:
דיסק - התקן לאחסון קבוע של נתונים, כמו כונן קשיח (HDD) או כונן מבוסס זיכרון מהיר (SSD).
תיקייה - מכל במערכת הקבצים שמשמש לארגון קבצים ותיקיות אחרות בתוך מבנה היררכי.
מחיצה - חלוקה לוגית של דיסק פיזי לאזורים נפרדים, שכל אחד מתפקד כאילו הוא כונן עצמאי.
זיכרון - רכיב מהיר ונדיף שבו המחשב שומר נתונים ותוכניות בזמן ריצתם. תוכנו נמחק עם כיבוי המחשב.
דומיין - תחום ניהולי משותף של מחשבים ומשתמשים ברשת ארגונית, המנוהל מרכזית. גם שם ייחודי של אתר באינטרנט.
אימות - תהליך שמוודא שהמשתמש או המערכת הם מי שהם טוענים שהם, בדרך כלל באמצעות סיסמה, קוד או תעודה.
Active Directory - שירות מדריך של מיקרוסופט לניהול מרכזי של משתמשים, מחשבים והרשאות ברשת ארגונית מבוססת דומיין.
GPO - אובייקט מדיניות קבוצתית ב-Active Directory, שמכיל הגדרות ומדיניות המוחלות על משתמשים ומחשבים.


מבנה ושמות דיסקים ומחיצות בלינוקס:


(Sda (disk0): זה הדיסק הפיזי הראשון (SATA DISK)

(Sda1,Sda2 (Partitions in disk): אלו הן המחיצות בתוך הדיסק הפיזי הראשון.

(Sdb (disk1): זה הדיסק הפיזי השני כמו בוינדוס Disk1

(Sdb1,Sdb2 (Partitions in disk): אלו הן המחיצות בתוך הדיסק הפיזי השני.

מחיצת השורש הראשונה:

וינדוס: C

לינוקס: /

מחיצות נוספות:

וינדוס: D: / E:

לינוקס: /data /example כמו תיקיות.

הערה: בתהליך ההתקנה יוצרים מחיצה נוספת לזיכרון הווירטואלי שנקראת SWAP

מטרת צירוף לינוקס לדומיין הינה לאימות משתמשים מתוך Active Directory בלבד ואין GPO  ללינוקס דרך AD.


הוכן ע"י התלמיד המצטיין: אברהים אבו שיכה

פרקי ההרצאה: סקריפט עם case

  1. 00:00

    מה זה case בסקריפט

  2. 01:02

    אפשרויות בחירה למשתמש

  3. 01:40

    סקריפט Help Desk לבדיקת שרת

  4. 02:50

    המבנה של case ו-esac

  5. 03:44

    script11 והודעת האפשרויות

  6. 07:36

    קבלת הבחירה עם read

  7. 09:17

    בדיקת החלק הראשון

  8. 10:36

    פקודת case בחלק השני

תמלול ההרצאה: סקריפט עם case

הטקסט המלא של הדקות הראשונות בהרצאה «סקריפט עם case» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:21

    כתיבת סקריפטים בלינוקס יוניקס חלק ט' שימוש בתפריט קייס. אני לא יודע אם אנחנו צריכים לקרוא לזה שימוש בתפריט קייס, כי את התפריט עצמו אנחנו יוצרים בעזרת אקו, אבל היכולת של השל לפעול בהתאם לבחירה שלנו נעשית בעזרת מנגנון הקייס או פקודת הקייס, אם תרצו, הפונקציה קייס.

  2. 00:48

    אז מה זה בעצם קייס? קייס זה אחד הדברים גם כן מאוד יפים בכתיבת סקריפטים, קייס של באש יוני אמת, וזו היכולת שלנו לתת למשתמש לבחור איזושהי אופציה, לבחור אפשרות.

  3. 01:02

    אז כמו שכתבתי פה לפניכם, אם תסתכלו על המסך, לפעמים יש צורך במתן מספר אפשרויות בחירה למשתמש שמהם עליו לבחור. זה במיוחד המצב, פספס לי פה הבי"ת, זה במיוחד המצב כאשר המשתמש לא יודע מה עושה הסקריפט, או מה האפשרויות שהסקריפט, מה האפשרויות שהסקריפט נותן לנו.

  4. 01:37

    למשל, אנחנו מפתחים סקריפט למשתמשים אצלנו בארגון, למשל אנשי ה-health desk, שהם יפעילו את הסקריפט שיש, כשמישהו מתקשר על בעיה עם שרת האינטרנט, הם יפעילו סקריפט והסקריפט הזה יגיד להם מה אתם רוצים לבדוק.

  5. 01:56

    פינג, פורט פתוח, סרוויס למעלה, אפ טיים של השרת, מה אתם רוצים לבדוק. במקום ללמד אותם את פקודות בלינוקס או ביוניקס עבור השרת, אז הם לא צריכים, הם פשוט צריכים לדעת לעשות אופצ'ן a, אופצ'ן A זה אין מה, אופצ'ן B זה פינג,

  6. 02:16

    אופצ'ן C זה אפ טיים, וכן הלאה וכן הלאה וכן הלאה. מאוד נחמד, מאוד שימושי, במיוחד כאשר בכתיבת סקריפטים שהם אינטראקטיביים עם המשתמש, כמו הסקריפט שכרגע הזכרתי לאנשי ההדדסק אצלכם.

  7. 02:32

    או למשל אתם רוצים לעשות מנגנון ככה נחמד של גיבוי קבצים על שרת היוניקס, אז אתם מפעילים את זה ואת הסקריפט והוא ישאל אתכם מה אתם רוצים לגבות, קבצי html קבצים אחרונים קבצים ישנים קבצי טקסט אתה אומר טקסט בום הוא הולך מגבה את הקבצי טקסט פשוט להקל על המשתבש בצד השני אוקיי איך נראית פקודת קייס את הפקודת קייס אנחנו נשלב עם in echo אבל איך היא נראית כשלעצמה

  8. 03:06

    ככה זה נראה in case זה כאילו ממש משפט in case ה-variable הזה הוא אחד מה-options האלה זה מה שאתה עושה כלומר ג'ונס ביקש אופצ'ן 1, תריץ את שני הפקודות האלה. כשאולאס ביקש אופצ'ן 3, תריץ את שני הפקודות האלה.

  9. 03:27

    מה זה הכוכבית הזאתי בסוף? זה, במידה ותבחרו משהו שלא קיים, זה מה שיקרה. כלום לא יקרה. ואנחנו סוגרים את הקייס בעזרת ISAC, קייס הפוך אם תרצו, אוקיי?

  10. 03:44

    אין יותר פשוט מקייס, אין יותר פשוט מלהבין קייס, אלא על ידי יצירת סקריפט. אז בואו נחזור למסורת שלנו. CP Template Script 11. אז כמו שסיפרתי לכם, בחלק הראשון של הסקריפט אנחנו נשים בדרך כלל את המסג' למשתמש.

  11. 04:54

    אז נקרא לזה עכשיו אחד. send the message the options to the user. אוקיי, אקו, הלו, בואו נתחיל ככה יפה. לא חייבים את המבטא הזה כמובן של ה-hello.

  12. 05:29

    הלו, ה-hello user, מה דעתכם ככה? הלו user, שזה אומר היוזר שעשה לוגין. You can choose the following options.

  13. 06:22

    אופצ'ן 1, אופצ'ן 1 או A או וואטאבר, פינג דה סרבר, פינג דה סרבר. אם זה נראה לכם שאני עובד מהר מדי על ה-VI, אני מצפה מכם כבר בשלב הזה, אם לא באותה מהירות, לפחות כמעט באותה יעילות, לעבוד על ה-VI. מה שעשיתי עכשיו, עשיתי yy והעתקתי ו-p עשיתי פייס לאפשרויות, אוקיי?

  14. 07:34

    הבנו את הרעיון, אופצ'ן 1, אופצ'ן 2, אופצ'ן 3. אז אני מציג את זה למשתמש, ואני יכול כמובן להציג את זה ככה בצורה קצת יותר מגניבה כזאת, אם מה אתם אומרים, ככה כזה שיהיה מגניב.

  15. 07:49

    ואז read, שכבר למדנו את זה, קבלת האינספורט מהמשתמש. לא רק נהפוך את זה למשהו יותר רציני, get the option from the user read, ואז כמובן פה נכניס איזשהו משתנה, אופשן, ופה אני כבר ממלא את זה, אופצ'ן אופצ'ן דיוזר וויל אוקיי דרך אנחנו שמים דולר ליד כדי להבין שזה משתנה וזה לא קובץ אוקיי אז חלק א' עושה מה send the

  16. 09:17

    option message to the user בואו נבדוק אם אכן זה עובד נראה שלא בלבלנו פה שום דבר ואפילו ברשותכם נעשה פה רק טסט כזה טסט טסט טסט אקו דולר אופצ'ן רק לראות שאכן אנחנו מקבלים את התוצאה הנכונה סקריפט 11 נפלא הלו רות שזה אני כמובן you can choose the following options option 1 ping the server option 2 check for the server service and option 3 check for the open port port

  17. 09:59

    80 אני רוצה אופצ'ן 3 enter בום אופצ'ן 3 אוקיי מגניב החלק הראשון של הסקריפט שלי עובד עכשיו מגיעים לחלק השני בואו נהפוך את זה משהו טיפה בוא נשאיר את זה יותר מטסט כדי שהמשתמש ידע chosen option 3, אה מגניב, ופה נעשה סליפ של איזה 4 דקות, וזה משתמש זמן לחשוב אם הוא רוצה לבטל את הסקריפט הזה, אוקיי?

  18. 10:45

    בפארק 2 אנחנו ממש אשכרה נשתמש בפקודת קייס, זה קייס קומאן, קייס דולר אופשן אין אין מה?

  19. 11:24

    אין אופשן 1, אופשן 2, אופשן 3. עכשיו רבותיי, אני משתמש במילה אופשן, אני לא חייב להשתמש, אני יכול לשלול פה קוקי, שוקי, בחירה מספר אחת, whatever, סתם אני משתמש במילה options כדי שיהיה לנו ככה שנבין את הרעיון, אבל באמת שאין פה צורך אמיתי להשתמש במילה options, אוקיי?

  20. 12:00

    העיקר שלתוך המשתנה options, שהוא משתנה options דרך אגב, ולא options, תכניסו option 3, option 2, option 1, זה

לקורס המלא: קורס לינוקס מתקדם אונליין

ההרצאה הקודמת: סקריפט עם לולאת for

ההרצאה הבאה: משימות מתוזמנות - crontab

הרצאות קשורות מקורסים אחרים

  • פקודת case - חלק 1
  • כתיבת Test Case
  • משפט Switch, Case - חלק 1
  • ביטויי Switch Case

קורסים נוספים במסלול

  • קורס AWS - ניהול מכונה וירטואלית בענן
  • קורס Terraform - DevOps - Azure & AWS
  • קורס קוברנטיקס - Kubernetes
  • קורס Docker - עם Swarm Cluster
  • קורס DevOps - Ansible
  • קורס PowerShell