PracticU

סקריפט עם IF - THEN - ELSE

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

סקריפט עם IF - THEN - ELSE
ההרצאה עוסקת בתנאים בסקריפטים של לינוקס בעזרת הפקודה if. הסקריפט מבצע פעולה רק כשתנאי מתקיים, ומאפשר לבחור בין אפשרויות. המרצה ממליץ לבדוק כל חלק בסקריפט לפני שמוסיפים את הבא.
מבנה בסיסי
הפקודה if בודקת תנאי. אם הוא מתקיים מבוצעות הפעולות אחרי then, והבלוק נסגר ב-fi. התנאי נכתב בתוך סוגריים מרובעות, עם רווח משני צידי הסוגריים ובין כל אלמנט.
סוגי תנאים
1. השוואת מחרוזות: = בודק ששני הערכים זהים, ו-!= בודק ששונים.
2. השוואת מספרים: משתמשים באופציות כמו -eq לשוויון ו--gt לגדול מ-.
3. Else: else מציג פעולה אחרת כשהתנאי לא מתקיים.
4. שילוב תנאים: אפשר לשלב כמה תנאים בעזרת and או or.
המרצה מציין שאי אפשר לכסות את כל האופציות בשיעור אחד, ושכדאי לחפש עוד באינטרנט אחרי שמבינים את הבסיס.
דוגמה: שם משתמש
הסקריפט מבקש שם בעזרת read ובודק אם הערך שווה ל-jonas. אם כן, מוצגת הודעת שלום. אחרת מוצגת ההודעה You are not Jonas. הבדיקה רגישה לאותיות גדולות וקטנות, ולכן צריך להקליד בדיוק כמו שכתוב.
דוגמה: שרת מתוך רשימה
בהמשך המרצה מראה סקריפט שבודק אם השרת שהוזן נמצא בקובץ serverlist.txt. הפקודה grep מחפשת את הערך בקובץ, והמשתנה $? מקבל 0 אם נמצא ו-1 אם לא נמצא. רק אם השרת נמצא בקובץ, מופעלת בדיקת הרשת עם nmap. בדוגמה הפינג מוגבל למספר קצר של בקשות, כדי שלא ירוץ ללא הפסקה.
טעויות נפוצות
1. שכחנו fi: הסקריפט לא עובד כשחסר סוגר לתנאי. זה קורה במיוחד כשיש הרבה if בתוך הסקריפט.
2. הרשאות: לפני ההרצה צריך לתת לקובץ הרשאת הפעלה.
3. בדיקה: המרצה מציע להריץ את הסקריפט אחרי כל הוספה, כדי לדעת איזה שלב גורם לתקלה.
הנקודה המרכזית: התנאי מאפשר לסקריפט להחליט בעצמו איזו פעולה לבצע.
השיעור הבא בקורס: דוגמאות לסקריפט שימושי
לחץ כאן להורדת הורדת קבצי 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.


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

פרקי ההרצאה: סקריפט עם IF - THEN - ELSE

  1. 00:00

    תנאי if בסקריפטים של לינוקס

  2. 00:59

    מה זה ביטוי רגולרי

  3. 02:12

    דוגמאות לבדיקת קלט בסקריפט

  4. 03:24

    השוואת מחרוזות שווה ושונה

  5. 04:23

    האופרטורים eq ו-gt

  6. 05:20

    דוגמת if וסגירה עם fi

  7. 06:41

    יצירת script7 מה-Template

  8. 08:18

    בדיקת var1 מול jonas

תמלול ההרצאה: סקריפט עם IF - THEN - ELSE

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

  1. 00:20

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

  2. 00:37

    ומה זה בעצם אומר? זה אומר אם משהו קיים, אם משהו מתרחש, אם אחד, אם a שווה ל-4 וכו' וכו', תעשה א', ב', ג'. אז אנחנו קוראים לפונקציה הזאתי, שכבר קיימת עבורנו, if then, ככה בקצרה.

  3. 00:59

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

  4. 01:24

    למשל, אם המשתנה a שווה ל-4, אז תציג את ההודעה הבאה: אם המשתנה a לא שווה ל-4, תציג את ההודעה היא.

  5. 01:38

    יש גם את האופציה של אם המשתנה a שווה ל-4 ו/או המשתנה b שווה ל-5, תציג את ההודעה הבאה. כלומר, וכמובן זה וזה משהו אחד, או זה משהו אחר.

  6. 01:51

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

  7. 02:01

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

  8. 02:15

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

  9. 02:31

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

  10. 02:40

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

  11. 02:49

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

  12. 02:59

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

  13. 03:13

    אז בואו נמשיך עם הביטוי הרגולרי שלנו, עם if ו-then, ובואו נראה דוגמאות לזה. רק כדי שנראה דוגמאות, ברשותכם, בואו נעבור על האופציות של הדוגמאות שיש לנו פה.

  14. 03:29

    למשל, כשאנחנו רוצים לבדוק שמשהו שווה למשהו, אז ייראה כך, אנחנו נגיד if star1 שווה ל-str2, סטרינג שתיים if str1 לא שווה סימן קריאה אקסקלמיישן מרק זה לא שווה לסטרינג שתיים ויש לנו גם כמובן גדול קטן מי וגדול מי אוקיי עכשיו בגלל שif ו then אתם תראו לבד שזה סרטון די די ארוך יחסית לא קצר הייתי אומר

  15. 04:02

    הוא יכול להיות בערך פי חמש יותר ארוך אם אנחנו נעבור על כל האופציות של if ואני לא מגזים אז מפאת המגבלות של זמן ולא ניתן פשוט לעשות לכם עכשיו סרטון של חמש שעות מה שחשוב זה לתת לכם את המעבר לבסיס של if ומשם אתם יכולים כבר כשהבנתם את המשחק איתו למצוא באינטרנט כל מיני פונקציות נוספות של if כלומר לא רק שווה אלא למשל יש לנו גם באינטרנט אתם תראו למשל equals מינוס equal אתם לא חייבים

  16. 04:36

    להשתמש בזה אבל אם בא לכם אתם תמצאו גם שאנשים משתמשים במינוס eq שזה equal או למשל, אם יש לכם גדול מ, אז יהיה GT, Greater than, גדול מ.

  17. 04:51

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

  18. 05:09

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

  19. 05:22

    למשל, תראו איזה יופי. if, ואז אנחנו פותחים סוגריים. המשתנה הזה var1 שווה שווה, ככה זה, שווה שווה לג'ונס.

  20. 05:36

    סמי קולון. then, נקודה פסיק התכוונתי, אקו, הלו ג'ונס, תגיד שלום לג'ונס. וכדי לסגור את ה-if שלנו, אנחנו שמים fit. יש לי גם אפשרות להגיד if, זה הקול הזה שיצא לי וריבול אחד לא שווה לג'ונס תציג you are not Jonas עוד פעם אנחנו נראה דברים הרבה הרבה יותר מתוחכמים אבל זה המינימום

  21. 06:04

    המינימום הבסיסי שצריך להראות לכם אז בואו ברשותכם נתחיל עם הדבר המינימלי הזה בואו ניגש ישר לעניין שוב פעם if then וכשאנחנו רוצים לסגור את הif אנחנו חייבים לשים p הרבה פעמים אנשים שוכחים לשים p הסקריפט לא עובד פשוט שכחתם p זה קורה במיוחד כשאתם עושים המון ifים בתוך הסקריפט וזה קורה וזה הכיפה כזה לא אנטי

  22. 06:26

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

  23. 06:42

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

  24. 06:56

    אני מאוד מקווה שכבר יש לכם טמפלט, סקריפט. סקריפט 7, אנחנו היינו ב-6, מגניב. וי איי סקריפט שבע אנחנו תזכורת הולכים לעבוד עם שימוש באיף אנחנו נראה מה זה אלס עוד רגע אוקיי אז ברשותכם כרגע אנחנו לא נשים וריבוליסט אבל אתם תראו שאנחנו בעתיד ככל שנתקדם בסרטונים אנחנו נשתמש

  25. 08:03

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

  26. 09:02

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

  27. 09:16

    קודם כל נעשה echo, please write your name,

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

ההרצאה הקודמת: משתנים ב-Script - חלק 2

ההרצאה הבאה: דוגמאות לסקריפט שימושי

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

  • תנאי If-Then-Else ב-Javascript
  • תנאי if-else
  • Qlik - if-else - חלק 1
  • תנאים if - else

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

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