Menu
CoddyTech

حلقة For التكرارية

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

أحيانًا تحتاج إلى تكرار إجراء عدة مرات. بدلًا من كتابة الأمر نفسه مرارًا وتكرارًا، يمكنك استخدام حلقة for للتكرار على قائمة من العناصر وتنفيذ إجراء على كل عنصر منها.

إليك البنية الأساسية لحلقة for في Bash:

#!/bin/bash
for name in Alice Bob Charlie; do
    echo "Hello, $name!"
done

يعرض هذا البرنامج النصي تحيةً لكل اسم في القائمة. يأخذ المتغير name كل قيمة بالتتابع: أولًا "Alice"، ثم "Bob"، ثم "Charlie". تشير الكلمة المفتاحية do إلى بداية جسم الحلقة، وتنهيها done.

تكون حلقات for قوية بشكل خاص عند دمجها مع أحرف البدل. يمكنك التكرار على جميع الملفات في دليل:

#!/bin/bash
for file in *.txt; do
    echo "Processing $file"
done

يتكرر هذا عبر كل ملف .txt في الدليل الحالي. في كل تكرار، يحتفظ المتغير file باسم الملف الحالي، مما يتيح لك إجراء العمليات على كل ملف تلقائيًا.

هناك أمر مفاجئ ينبغي معرفته: إذا لم يطابق النمط أي ملفات على الإطلاق، فلن يوسّعه Bash. عندئذٍ تُنفَّذ الحلقة مرة واحدة، وتكون القيمة هي النص الحرفي *.txt، بدلًا من عدم تنفيذها مطلقًا.

يمكنك أيضًا التكرار عبر نطاق من الأعداد باستخدام توسيع الأقواس المعقوفة:

#!/bin/bash
for i in {1..5}; do
    echo "Number: $i"
done

يطبع هذا الأعداد من 1 إلى 5. تحوّل الحلقات المهام المتكررة إلى بضعة أسطر من التعليمات البرمجية فحسب، مما يجعل نصوصك البرمجية أكثر كفاءة وأسهل في الصيانة.

challenge icon

التحدي

سهل

أنشئ برنامجًا نصيًا للصدفة باسم countdown.sh يستخدم حلقة for لطباعة عدّ تنازلي من 5 إلى 1.

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

  1. يبدأ بسطر shebang (#!/bin/bash)
  2. يستخدم حلقة for مع توسيع الأقواس للتكرار عبر الأرقام من 5 تنازليًا إلى 1
  3. يطبع كل رقم في سطر مستقل بالتنسيق: Countdown: [number]

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

Countdown: 5
Countdown: 4
Countdown: 3
Countdown: 2
Countdown: 1

تلميح: استخدم {5..1} لإنشاء نطاق تنازلي. داخل الحلقة، استخدم echo "Countdown: $i" حيث إن i هو متغير الحلقة.

جرّب بنفسك

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

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

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

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