كيفية التحقق من أن المتغير معين أو فارغ في bash

How Check Variable Is Set



يمكن تعريف المتغير أو عدم تحديده. عندما لا يتم التصريح عن أي متغير أو التصريح عنه ولكن لا يتم تعيين قيمة ، لا يتم تعيين المتغير أو عدم تحديده. عندما يتم التصريح عن أي متغير وتخصيصه بقيمة ، يتم تعيين المتغير. يتطلب الأمر في كثير من الأحيان معرفة أن المتغير المعين تم تعيينه أم لا لأغراض البرمجة. يعد التحقق من صحة البيانات أحد الأغراض المهمة للتحقق من المتغير. لا تحتوي Bash على وظيفة مضمنة مثل لغات البرمجة القياسية الأخرى للتحقق من تعيين المتغير أم لا. لكن لدى bash ميزة للقيام بهذه المهمة. كيف يمكنك التحقق من تعيين المتغير أم لا في bash موضح في هذا البرنامج التعليمي.

بناء الجملة:







[[ -الخامسعامل]]أو[[ -مععامل]]

يتم استخدام الخيار '-v' أو '-z' للتحقق من تعيين المتغير أو عدم ضبطه. سيعود التعبير المنطقي أعلاه صحيحًا إذا تم تعيين المتغير ويعيد خطأ إذا لم يتم تعيين المتغير أو فارغًا.



$ {متغير + سلسلة}

يعد بديل المعلمة طريقة أخرى للتحقق من تعيين المتغير أو عدم ضبطه. إذا تم تعيين المتغير ، فستعود قيمة السلسلة وإلا ستُرجع قيمة null.



مثال 1: تحقق من تعيين المتغير أو عدم ضبطه باستخدام الخيار '-z'

قم بإنشاء ملف bash يسمى check_var1.sh بالنص التالي. هنا ، أول ملفات إذا سيعود الشرط صحيحًا و لم يتم تعيين متغير Num سوف تطبع. في العبارة التالية ، يتم تخصيص 20 للمتغير ، الأسطوانات دولار . الشرط الثاني 'if' سيعيد القيمة false و تم تعيين Num وقيمة Num = 20 سوف تطبع.





check_var1.sh

#!/bin/bash
#Check المتغير مضبوط أم لا
لو [ -مع $ {Num} ]؛من ثم
رما - طرد - قذف لم يتم تعيين متغير 'Num'
آخر
رما - طرد - قذف تم تعيين متغير 'Num'
يكون
# تعيين قيمة
على واحد=عشرين
#Check المتغير مضبوط أم لا بعد تعيين القيمة
لو [ -مع $ {Num} ]؛من ثم
رما - طرد - قذف لم يتم تعيين متغير 'Num'
آخر
رما - طرد - قذف تم تعيين 'Num' وقيمة Num =الأسطوانات دولار'
يكون

قم بتشغيل البرنامج النصي.



$سحقcheckvar1.sh

مثال 2: تحقق من تعيين المتغير أو عدم ضبطه باستخدام بديل المعلمة

قم بإنشاء ملف bash يسمى check_var2.sh وأضف النص التالي. هنا ، يتم تعيين قيمة سلسلة للمتغير ، $ str قبل التحقق من المتغير مضبوط أو غير مضبوط. الشرط 'if' سيعود صحيحًا والرسالة ، تم تعيين متغير 'str' ​​والقيمة هي Hello سوف تطبع.

check_var2.sh

#!/bin/bash
# اضبط المتغير
ص= مرحبًا
#Assign القيمة World إلى checkval إذا تم تعيين متغير str
checkval=$ {str + العالم}
#Check المتغير مضبوط أو غير مضبوط
لو [ checkval دولار -مكافئالعالمية]؛من ثم
رما - طرد - قذف تم تعيين متغير 'str' ​​والقيمة هي$ شارع'
آخر
رما - طرد - قذف لم يتم تعيين المتغير 'str'
يكون

قم بتشغيل البرنامج النصي.

$سحقcheckvar2.sh

مثال 3: تحقق من أن المتغير فارغ أم لا

قم بإنشاء ملف bash يسمى check_var3.sh وأضف النص التالي. سيخزن البرنامج النصي أول وسيطة لسطر الأوامر في متغير ، $ argv التي تم اختبارها في البيان التالي. سيكون الإخراج الحجة الأولى فارغة إذا لم يتم تمرير أي وسيطة وإلا ستتم طباعة قيمة الوسيطة الأولى.

check_var3.sh

#! / بن / ش
#Read قيمة وسيطة سطر الأوامر الأولى
أرجف='1 دولار'
#Check قيمة الوسيطة الأولى مقدمة أم لا
[ -الخامس '$ argv' ] && رما - طرد - قذف 'الوسيطة الأولى فارغة' ||
رما - طرد - قذف قيمة الوسيطة الأولى هي$ argv'

قم بتشغيل البرنامج النصي دون أي جدال.

$سحقcheckvar3.sh

قم بتشغيل البرنامج النصي باستخدام وسيطة.

$سحقcheckvar3.shاختبار

استنتاج

يتم عرض طرق مختلفة للتحقق من المتغير مضبوطًا أو غير مضبوط أو فارغ في هذا البرنامج التعليمي باستخدام أمثلة مختلفة. نأمل أن يساعد هذا البرنامج التعليمي المستخدمين على تعلم طرق اختبار أي متغير bash.