Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

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

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

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

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

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

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

يمكنك أيضاً معالجة الحالة عندما يكون الشرط خاطئاً باستخدام 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

التحدي

سهل

قم بإنشاء نص برمجي لـ shell يسمى 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.

ورقة مرجعية

تسمح جملة 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 (أصغر من أو يساوي)
  • النصوص: = (تساوي)، != (عدم تساوي)

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

جرّب بنفسك

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

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

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