العبارات الشرطية (if، else، elif)
طبّقوا منطق اتخاذ القرارات في scripts باستخدام عبارات 'if' و'else' و'elif' لإضافة سلوك ديناميكي.
العبارات الشرطية (if، else، elif) درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
أهمية الجمل الشرطية
في برمجة Bash، قد تحتاجون أحيانًا إلى أن يتخذ النص البرمجي قرارات. تخيلوا نصًا برمجيًا ينفذ إجراءات مختلفة استنادًا إلى إدخال المستخدم أو إلى وجود ملف.
هنا تأتي الجمل الشرطية! فهي تتيح للنص البرمجي تنفيذ كتل تعليمات محددة فقط عند تحقق شروط معينة.
جملة 'if' الأساسية
أبسط بنية شرطية هي جملة if. فهي تتحقق من شرط، وإذا كان صحيحًا، تُنفَّذ كتلة من الأوامر.
الصيغة هي:
if [ condition ]then# commands if condition is truefi(تحدد نهاية كتلةif)
أول نص برمجي باستخدام 'if'
لنرَ جملة if أساسية أثناء العمل. يتحقق هذا النص البرمجي مما إذا كان عدد أكبر من 5.
جرّبوا تغيير قيمة NUMBER ثم تشغيل النص البرمجي!
#!/bin/bash
NUMBER=10
if [ $NUMBER -gt 5 ]
then
echo "The number $NUMBER is greater than 5."
fi
echo "Script finished."إنشاء شروط الاختبار
يُعد الجزء [ condition ] محوريًا. فهو في الواقع أمر يُسمى test أو الاسم المستعار له [.
يمكنكم أيضًا استخدام [[ condition ]]، وهي صيغة أكثر تقدمًا توفر بناءً نحويًا أفضل وتمنع مشكلات تقسيم الكلمات. أما للمبتدئين، فالصيغة [ ] شائعة.
- احرصوا دائمًا على وضع مسافات حول الأقواس والعوامل.
- ينبغي عادةً وضع المتغيرات داخل
[ ]بين علامتي اقتباس (مثلًا"$VARIABLE") لتجنب الأخطاء الناتجة عن القيم الفارغة أو متعددة الكلمات.
مقارنة الأرقام
عند مقارنة الأرقام في Bash، تستخدمون عوامل محددة:
-eq: يساوي-ne: لا يساوي-gt: أكبر من-ge: أكبر من أو يساوي-lt: أصغر من-le: أصغر من أو يساوي
تُستخدم هذه العوامل داخل [ ] أو [[ ]].
مقارنة السلاسل النصية
تُستخدم عوامل مختلفة لمقارنة النصوص (السلاسل النصية):
==أو=: يساوي (يُفضّل استخدام==مع[[ ]])!=: لا يساوي-z "$STRING": صحيح إذا كانت السلسلة فارغة (طولها يساوي صفرًا)-n "$STRING": صحيح إذا لم تكن السلسلة فارغة (طولها لا يساوي صفرًا)
تذكروا وضع متغيرات السلاسل النصية بين علامتي اقتباس!
جملة 'if-else'
ماذا لو أردتم تنفيذ كتلة من التعليمات إذا كان الشرط صحيحًا، وكتلة مختلفة إذا كان خاطئًا؟
هذا هو الغرض من if-else! فهي توفر مسارًا بديلًا للنص البرمجي.
الصيغة هي:
if [ condition ]then# commands if trueelse# commands if falsefi
'if-else' أثناء العمل
يطلب هذا النص البرمجي منكم إدخال عدد، ثم يخبركم بما إذا كان موجبًا أم لا. ويستخدم بنية if-else.
شغّلوه عدة مرات باستخدام مدخلات مختلفة (مثل 5 و-3 و0).
#!/bin/bash
read -p "Enter a number: " NUM
if [ "$NUM" -gt 0 ]
then
echo "$NUM is a positive number."
else
echo "$NUM is not a positive number (it's zero or negative)."
fiخيارات متعددة باستخدام 'elif'
عندما يكون لديكم أكثر من نتيجتين محتملتين، يمكنكم استخدام elif (اختصارًا لـ "else if"). يتيح لكم ذلك التحقق من شروط متعددة بالتسلسل.
الصيغة هي:
if [ condition1 ]then# commands if condition1 is trueelif [ condition2 ]then# commands if condition1 is false AND condition2 is trueelse# commands if all conditions are falsefi
منطق اتخاذ القرارات المتقدم
لننشئ نصًا برمجيًا يصنّف عمر المستخدم باستخدام if وelif وelse. يتعامل هذا النص مع سيناريوهات متعددة.
لاحظوا استخدام && لدمج الشروط داخل [[ ]] (و AND المنطقي).
#!/bin/bash
read -p "Enter your age: " AGE
if [[ $AGE -lt 13 ]]
then
echo "You are a child."
elif [[ $AGE -ge 13 && $AGE -lt 18 ]]
then
echo "You are a teenager."
elif [[ $AGE -ge 18 && $AGE -lt 65 ]]
then
echo "You are an adult."
else
echo "You are a senior citizen."
fiالتحقق الشرطي
تأملوا نص Bash البرمجي التالي:
#!/bin/bash
SCORE=85
if [ $SCORE -lt 60 ]
then
echo "Fail"
elif [ $SCORE -lt 80 ]
then
echo "Pass"
else
echo "Distinction"
fiملخص الجمل الشرطية
أحسنتم! لقد تعلمتم كيفية جعل نصوص Bash البرمجية أكثر ذكاءً باستخدام الجمل الشرطية.
- تنفذ جملة
ifالتعليمات إذا كان الشرط صحيحًا. - يوفر
elseمسارًا بديلًا إذا كان شرطifخاطئًا. - يتيح
elifالتحقق من شروط متعددة بالتسلسل. - تذكروا استخدام العوامل المناسبة (
-eqللأرقام و==للسلاسل النصية)، وإغلاق كتلifدائمًا باستخدامfi.
تُعد هذه الأدوات أساسية لإنشاء نصوص برمجية ديناميكية وتفاعلية!
الأسئلة الشائعة
هل درس «العبارات الشرطية (if، else، elif)» مجاني؟
نعم — نص درس «العبارات الشرطية (if، else، elif)» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ماذا ستتعلم في «العبارات الشرطية (if، else، elif)»؟
طبّقوا منطق اتخاذ القرارات في scripts باستخدام عبارات 'if' و'else' و'elif' لإضافة سلوك ديناميكي. تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟
لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «العبارات الشرطية (if، else، elif)»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟
نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- أول Bash Script وسطر Shebang
- المتغيرات وإدخال المستخدم
- العبارات الشرطية (if، else، elif)
- التعامل مع المصفوفات في Bash