logo

Bash בדוק אם משתנה מוגדר

משתנה מכונה לעתים קרובות תיבה המכילה שם ואת התוכן. פקודה פשוטה, למשל, 'echo Hello $Var_Name' תדפיס 'Hello...the value of the variable as defined'. Bash לא ידפיס דבר אם התיבה ריקה או לא נוצרה. לכן חשוב לוודא אם משתנה מוגדר כראוי או לא בזמן יצירת כל סקריפט bash.

ניתן לסווג משתנים לשני חלקים:

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

כדי לאשר אם משתנה מוגדר או לא ב-Bash Scripting, אנחנו יכולים להשתמש -v var או -z ${var} אפשרויות כביטוי עם השילוב של פקודה מותנית 'אם'.

תחביר

להלן התחבירים של ביטוי בוליאני שניתן להשתמש בהם כדי לבדוק אם המשתנה מוגדר:

 [[ -v Variable_Name ]] [[ -z Variable_Name ]] 

הביטוי הבוליאני מחזיר 'True' אם המשתנה מוגדר ו'False' אם המשתנה לא מוגדר.

string tokenizer java

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

שימוש באפשרות -v

 #!/bin/bash #Script to check whether a variable is set or not using -v option A=100 #A: variable is set. if [[ -v A ]]; then echo 'Variable having name 'A' is already set.' else echo 'Variable having name 'A' is not set.' fi #B: variable is not set if [[ -v B ]]; then echo 'Variable having name 'B' is already set.' else echo 'Variable having name 'B' is not set.' fi 

תְפוּקָה

Bash בדוק אם משתנה מוגדר

כאן, משתנה 'A' מוגדר ומוקצה לו ערך של 100 ומכאן נחשב כ'משתנה מוגדר'. עבור משתנה 'B', לא הגדרנו או הקצבנו שום ערך. כתוצאה מכך, המשתנה 'B' אינו נחשב כ'משתנה מוגדר'.

שימוש באפשרות -z

 #!/bin/bash #Script to check whether a variable is set or not using -z option A=100 #A: variable is set. if [[ -z ${A} ]]; then echo 'Variable having name 'A' is not set.' else echo 'Variable having name 'A' is already set.' fi #B: variable is not set if [[ -z ${B} ]]; then echo 'Variable having name 'B' is not set.' else echo 'Variable having name 'B' is already set.' fi 

תְפוּקָה

Bash בדוק אם משתנה מוגדר

הערה:יש הבדל בין משתנה לא מוגדר למשתנה עם ערך null.

בדוק את הדוגמה הבאה המדגימה שהמשתנה עם ערך null יכול להיות משתנה מוגדר.

דוגמא

 VAR='' #VAR is set if [ -z ${VAR+x} ]; then echo ''VAR' is unset'; else echo ''VAR' is set, its content is '$VAR''; fi #Var is not set if [ -z ${Var+x} ]; then echo ''Var' is unset'; else echo ''Var' is set, its content is '$Var''; fi 

תְפוּקָה

Bash בדוק אם משתנה מוגדר

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

np std