כיצד להשוות מחרוזות ב- Bash

How Compare Strings Bash



למטרות תכנות שונות, עלינו להשוות את הערך של שתי מחרוזות. פונקציות מובנות משמשות בשפות תכנות רבות כדי לבדוק את השוויון בין שני מחרוזות. אתה יכול לבדוק את השוויון וחוסר השוויון של שני מחרוזות ב- bash באמצעות אם הַצהָרָה. == משמש לבדיקת שוויון ו ! = משמש לבדיקת אי השוויון של המיתרים. אתה יכול להשוות חלקית את הערכים של שתי מחרוזות גם ב- bash. כיצד תוכל להשוות את ערכי המחרוזת ב- bash מוצג באמצעות דוגמאות שונות במדריך זה.

דוגמה 1: השוואת מחרוזות באמצעות == אופרטורים

אין פונקציית השוואה מובנית לבדיקת שוויון של שני ערכי מחרוזת ב- bash כמו שפת תכנות רגילה אחרת. בתסריט הבא, שני משתני מחרוזת, strval1 ו strval2 מוכרזים. ההון של שני משתני המחרוזת הללו נבדק באמצעות הראשון אם הצהרת התסריט. הערך של strval1 מושווה לערך מחרוזת כדי לבדוק את השוויון בשני אם הַצהָרָה.







#!/bin/bash

strval1='אובונטו'
strval2='חלונות'

#בדוק שוויון בין שני משתני מחרוזת

אם [ $ strval1==$ strval2 ];לאחר מכן
זרק 'מחרוזות שוות'
אַחֵר
זרק 'מחרוזות אינן שוות'
לִהיוֹת

#בדוק את השוויון של משתנה בעל ערך מחרוזת

אם [ $ strval1=='אובונטו' ];לאחר מכן
זרק 'מערכת הפעלה לינוקס'
אַחֵר
זרק 'מערכת הפעלה Windows'
לִהיוֹת

תְפוּקָה:



השוואה ראשונה אינה שווה והשוואה שנייה שווה.







דוגמה 2: השוואת מחרוזות באמצעות! = אופרטור

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

#!/bin/bash

strval1='אובונטו'
strval2='חלונות'

#בדוק את אי השוויון של משתנה בעל ערך מחרוזת

אם [ $ strval2 !='אובונטו' ];לאחר מכן
זרק 'מערכת הפעלה Windows'
אַחֵר
זרק 'מערכת הפעלה לינוקס'
לִהיוֹת

תְפוּקָה:



דוגמה 3: השוואת מחרוזות חלקית

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

#!/bin/bash

strval='מיקרוסופט אינטרנט אקספלורר'

אם [[ $ strval==*מרשתת* ]];
לאחר מכן
זרק 'התאמה חלקית'
אַחֵר
זרק 'אין התאמה'
לִהיוֹת

אם [[ $ strval==*מרשתת* ]];
לאחר מכן
זרק 'התאמה חלקית'
אַחֵר
זרק 'אין התאמה'
לִהיוֹת

תְפוּקָה:

דוגמה 4: השווה מחרוזת עם ערך קלט המשתמש

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

#!/bin/bash

זרק 'הזן את שמך'
לקרואקֶלֶט

אם [ קלט של $ !='פחמידה' ];
לאחר מכן
זרק 'לא נמצא שיא'
אַחֵר
זרק 'נמצא שיא'
לִהיוֹת

תְפוּקָה:

הסרטון של השיעור הזה נמצא כאן:

משימת השוואת מחרוזות ב- bash תהיה קלה יותר עבורך לאחר השלמת הדוגמאות לעיל בהבנה ברורה.