Skip to main content

כיצד להשתמש תנאי הבדיקה בתוך סקריפט

הרצאה 4 - קורס Load Runner הראשון (אַפּרִיל 2025)

הרצאה 4 - קורס Load Runner הראשון (אַפּרִיל 2025)
Anonim

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

דוגמה בסיסית

אתה יכול לנסות פקודות אלה פשוט על ידי פתיחת חלון מסוף.

מבחן 1 -q 2 && הד "כן" || הד "לא"

ניתן לפרק את הפקודה הנ"ל כך:

  • מבחן - זה אומר שאתה עומד לבצע השוואה
  • 1 - האלמנט הראשון שאתה הולך להשוות
  • -Eq - איך אתה משווה. במקרה זה, אתה בודק אם מספר אחד שווה אחר.
  • 2 - אלמנט אתה משווה את האלמנט הראשון נגד
  • && - הפעל את ההצהרה הבאה אם ​​התוצאה נכונה
  • הד "כן" - הפקודה לרוץ אם ההשוואה חוזרת נכון
  • || - הפעל את ההצהרה הבאה אם ​​התוצאה היא שקרית
  • הד "לא" - הפקודה לרוץ אם ההשוואה חוזרת שקר

בעיקרו של דבר, הפקודה משווה בין 1 ל 2, ואם הם תואמים, את ההצהרה "כן" כן מבוצע המציג "כן" ואם הם לא תואמים, את ההצהרה "לא" מופעלת אשר מציג "לא".

השוואת מספרים

אם אתם משווים אלמנטים המנתחים כמספרים, תוכלו להשתמש במפעילי ההשוואה הבאים:

  • -Eq - האם ערך 1 שווה ערך 2
  • -ge - הוא ערך 1 גדול או שווה לערך 2
  • -gt - הוא ערך 1 גדול מערך 2
  • -le - הוא ערך 1 פחות או שווה לערך 2
  • -lt - הוא ערך 1 פחות מערך 2
  • -ne - האם ערך 1 אינו שווה ערך 2

דוגמאות

מבחן 1 -q 2 && הד "כן" || הד "לא"

(מציג "לא" למסך כי 1 לא שווה 2)

מבחן 1 -ge 2 && הד "כן" || הד "לא"

(מציג "לא" למסך כי 1 אינו גדול או שווה ל 2)

מבחן 1 -gt 2 && הד "כן" || הד "לא"

(מציג "לא" למסך כי 1 אינו עולה על 2)

מבחן 1 -le 2 && הד "כן" || הד "לא"

(מציג "כן" למסך כי 1 הוא פחות או שווה ל 2)

מבחן 1-lt 2 && הד "כן" || הד "לא"

(מציג "כן" למסך כי 1 הוא פחות או שווה ל 2)

מבחן 1 -ne 2 && הד "כן" || הד "לא"

(מציג "כן" למסך כי 1 אינו שווה 2)

השוואת טקסט

אם אתה משווה אלמנטים שמתחילים כמחרוזות, תוכל להשתמש במפעילי ההשוואה הבאים:

  • = - האם מחרוזת 1 מחרוזת התאמה 2
  • = = - מחרוזת 1 שונה למחרוזת 2
  • -n - אורך המחרוזת גדול מ -0
  • -z - הוא אורך מחרוזת 0

דוגמאות

test "string1" = "string2" && echo "כן" || הד "לא"

(מציג "לא" למסך כי "string1" אינו שווה "string2")

מבחן "string1"! = "string2" && echo "כן" || הד "לא"

(מציג "כן" למסך מכיוון ש- string1 אינו שווה ל- string2)

test -n "string1" && echo "כן" || הד "לא"

(מציג "כן" למסך מכיוון ש- "string1" יש אורך מחרוזת גדול מאפס)

test -z "string1" && echo "כן" || הד "לא"

(מציג "לא" למסך כי "string1" יש אורך מחרוזת גדול מאפס)

השוואת קבצים

אם אתה משווה קבצים, תוכל להשתמש במפעילי ההשוואה הבאים:

  • -ef - האם לקבצים יש את אותו התקן ומספרי INode (האם הם אותו קובץ)
  • -nt - האם הקובץ הראשון חדש יותר מהקובץ השני
  • -ot - האם הקובץ הראשון ישנים מהקובץ השני
  • -b - הקובץ קיים והוא בלוק מיוחד
  • -c - הקובץ קיים והוא אופי מיוחד
  • -d - הקובץ קיים והוא ספריה
  • -e - הקובץ קיים
  • -f - הקובץ קיים והוא קובץ רגיל
  • -g - הקובץ קיים ויש לו את מספר הקבוצה שצוין
  • -G - הקובץ קיים ובעלים על-ידי קבוצת המשתמש
  • -h - הקובץ קיים וקישור סמלי
  • -k - הקובץ קיים ויש לו את החלק הדביק שלו מוגדר
  • -L - כמו - ח
  • -O - ​​הקובץ קיים אתה הבעלים
  • -p - הקובץ קיים והוא צינור בשם
  • -r - הקובץ קיים וקריא
  • -s - הקובץ קיים ויש לו גודל גדול מאפס
  • -S - הקובץ קיים והוא שקע
  • -t - מתאר הקובץ נפתח במסוף
  • -u - הקובץ קיים וקביעת ה- set-user-id מוגדר
  • -w - הקובץ קיים וניתן לכתיבה
  • -x - הקובץ קיים וניתן להפעלה

דוגמאות

מבחן / נתיב / ל / file1 -nt / path / ל / file2 && הד "כן"

(אם file1 הוא חדש יותר מ file2 ואז את המילה "כן" יוצג)

test -e / path / to / file1 && echo "כן"

(אם file1 קיים המילה "כן" תוצג)

מבחן -O / path / to / file1 && echo "כן"

(אם ברשותך file1 אז המילה "כן" מוצגת ")

טרמינולוגיה

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

השוואת תנאים מרובים

עד כה, הכל כבר משווה דבר אחד נגד אחר, אבל מה אם אתה רוצה להשוות שני תנאים?

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

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

מבחן 4 -q 4 -a "moo" = "moo" & הד "זה פרה" || הד "זה לא פרה"

החלק המרכזי כאן הוא -א ו .

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

מבחן 4 -Eq 4 && הבדיקה "moo" = "moo" & הד "זה פרה" || הד "זה לא פרה"

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

test -e file1.txt -o -e file1.doc && echo "file1 קיים" || הד "file1 אינו קיים"

החלק העיקרי כאן הוא -O אשר מייצג או .

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

test -e file1.txt || test -e file1.doc && echo "file1 קיים" || הד "file1 אינו קיים"

ביטול מילת המפתח של הבדיקה

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

-e file1.txt && echo "file1 קיים" || הד "file1 אינו קיים"

ו בעצם אומר אותו מבחן.

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

4 -q 4 && "moo" = "moo" & הד "זה פרה" || הד "זה לא פרה"-e file1.txt || -e file1.doc && echo "file1 קיים" || הד "file1 אינו קיים"

סיכום

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