Skip to main content

מדריך למתחילים כדי BASH - השוואת דברים

Learn Python - Full Course for Beginners [Tutorial] (אַפּרִיל 2025)

Learn Python - Full Course for Beginners [Tutorial] (אַפּרִיל 2025)
Anonim
01 מתוך 08

מדריך למתחילים כדי BASH - השוואת דברים

בחלק הקודם של המדריך BASH הסתכלנו הצהרות מותנה.

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

התמונה לעיל מראה את הדוגמה הראשונה במדריך זה של השבוע:

#! / bin / bashname1 = "gary"name2 = "bob"אם "$ name1" = "$ name2"לאחר מכן הד "שמות התאמה"Other הד "השמות אינם תואמים"Fi

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

כל התסריט עושה הוא להשוות את הערך של $ name1 ו $ name2 ואם הם להתאים פלט מחרוזת "שמות שמות" ואם הם לא פלט את המחרוזת "השמות אינם תואמים".

המרכאות סביב המשתנים $ name1 ו- $ 2 הן חשובות משום שאם הערך של אחת מהן לא נקבע אזי הסקריפט ימשיך לפעול.

לדוגמה, אם $ name1 מעולם לא הוגדר אז אתה תהיה משווה "" עם "בוב". ללא המרכאות אתה תישאר עם = "בוב" אשר נכשל בבירור.

ניתן גם להשתמש ב! = Nation כדי להגדיר לא שווה ל:

אם "$ name1"! = "$ name2" 02 מתוך 08

מדריך למתחילים כדי BASH - השוואת מחרוזות

בדוגמה לעיל הבדיקה משווה את שתי מחרוזות אותו שואל את השאלה האם גארי לבוא לפני בוב באלפבית?

ברור שהתשובה היא לא.

הסקריפט מציג את המפעיל פחות (<). כמו מפעיל פחות מ משמש גם עבור ניתוב מחדש אתה צריך לברוח עם קו נטוי () עבור זה אומר פחות מאשר למה את התסריט לעיל השוותי "$ name1" "$ $ name2".

ההפך של פחות מ ברור יותר מאשר. במקום להשתמש ב- <use >.

לדוגמה

אם "$ name1" > "$ name2" 03 מתוך 08

מדריך למתחילים כדי BASH - השוואת מחרוזות

אם ברצונך לבדוק אם למשתנה יש ערך תוכל להשתמש במבחן הבא:

אם -n $ name2

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

04 מתוך 08

מדריך למתחילים כדי BASH - השוואת מחרוזות

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

לדוגמה:

name1 = ""

כדי לבדוק אם למשתנה יש ערך או לא (כלומר, יש אורך של אפס) השתמש -z כדלקמן:

אם -z $ name1

בתסריט לעיל יש להגדיר $ name1 למחרוזת אורך אפס ולאחר מכן להשוות אותו באמצעות -z. אם $ name1 הוא אפס אורך ההודעה "גארי יש יצא הערב" יוצג.

05 מתוך 08

מדריך למתחילים כדי BASH - השוואת מספרים

עד כה כל ההשוואות היו עבור מחרוזות. מה לגבי השוואת מספרים?

התסריט הנ"ל מציג דוגמה להשוואת שני מספרים:

#! / bin / bash= 4b = 5אם $ a = $ bלאחר מכן הד "4 = 5"Other הד "4 אינו שווה 5"Fi

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

אני מעדיף עם זאת להשתמש במפעיל הבא כדי להשוות שני מספרים:

אם $ a-aq $ b 06 מתוך 08

מדריך למתחילים כדי BASH - השוואת מספרים

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

דרך טובה יותר להשוות מספרים היא להשתמש בסימון הבא:

  • פחות מ - lt
  • פחות או שווה ל -
  • גדול מ-ג '
  • גדול או שווה ל-ג '

לדוגמה:

אם $ a -lt $ bאם $ a -le $ bאם $ a -ge $ bאם $ a -gt $ b 07 מתוך 08

מדריך למתחילים כדי BASH - השוואת מספרים

לבסוף, עבור מדריך זה, אם ברצונכם לבדוק אם שני מספרים שונים זה מזה, תוכלו להשתמש במפעילים הפחות מ-או יותר ביחד (<>) או ב- -ne כדלקמן:

אם $ a <> $ bאם $ a -ne $ b 08 מתוך 08

מדריך למתחילים לבאש - מפעילי השוואה - סיכום

אם החמצת את שלושת החלקים הראשונים של מדריך זה, תוכל למצוא אותם על ידי לחיצה על הקישורים הבאים:

  • שלום עולם
  • פרמטרים קלט
  • תנאים ומשתנים

בחלק הבא של המדריך אני אעבור אריתמטיקה.