Menu
CoddyTech
flag Ar iconالعربيةdown icon

جملة If الشرطية

جزء من قسم الأساسيات في رحلة Terminal على Coddy. الدرس 70 من 82.

حتى الآن، تنفّذ نصوصك البرمجية كل أمر من الأعلى إلى الأسفل دون اتخاذ أي قرارات. ولكن ماذا لو أردت أن ينفّذ نصك البرمجي أشياء مختلفة بناءً على شروط معينة؟ هنا يأتي دور عبارة if.

تتيح عبارة if للنص البرمجي اتخاذ القرارات. فهي تتحقق مما إذا كان الشرط صحيحًا، وإذا كان كذلك، تُشغّل كتلة من التعليمات البرمجية. إليك البنية الأساسية:

#!/bin/bash
age=18
if [ $age -ge 18 ]; then
    echo "You are an adult"
fi

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

يمكنك أيضًا معالجة الحالة التي يكون فيها الشرط خاطئًا باستخدام else:

#!/bin/bash
age=15
if [ $age -ge 18 ]; then
    echo "You are an adult"
else
    echo "You are a minor"
fi

تتضمن عوامل المقارنة الشائعة للأرقام -eq (يساوي)، و-ne (لا يساوي)، و-gt (أكبر من)، و-lt (أصغر من)، و-ge (أكبر من أو يساوي)، و-le (أصغر من أو يساوي). بالنسبة إلى السلاسل النصية، استخدم = للمساواة و!= لعدم المساواة.

تذكّر دائمًا تضمين مسافات داخل الأقواس ووضع متغيراتك بين علامتي اقتباس لتجنّب الأخطاء مع القيم الفارغة.

challenge icon

التحدي

سهل

أنشئ برنامجًا نصيًا للصدفة باسم check_score.sh يستخدم عبارة if لتقييم درجة اختبار.

يجب أن يقوم البرنامج النصي بما يلي:

  1. يبدأ بسطر shebang (#!/bin/bash)
  2. ينشئ متغيرًا باسم score بالقيمة 75
  3. يستخدم عبارة if للتحقق مما إذا كانت الدرجة أكبر من أو تساوي 70
  4. إذا كان الشرط صحيحًا، يطبع: You passed!
  5. إذا كان الشرط خاطئًا، يطبع: You failed.

اجعل البرنامج النصي قابلًا للتنفيذ وشغّله. بما أن الدرجة هي 75، فيجب أن يكون الناتج:

You passed!

تلميح: تذكّر استخدام -ge للمقارنة «أكبر من أو يساوي»، وإضافة مسافات داخل الأقواس المربعة، وإنهاء عبارة if باستخدام fi.

لا يوجد محرر ملفات هنا، لذا اكتب الملف مباشرةً من الصدفة باستخدام مستند هنا: اكتب cat > check_score.sh << 'EOF'، ثم أسطر البرنامج النصي، ثم سطرًا أخيرًا يحتوي على EOF فقط.

جرّب بنفسك

الطرفية
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات

تدرّب بنفسك: Playground لـ Terminal