0Pricing
Linux Command Line & Bash Scripting Mastery · درس

تراكيب الحلقات (for، while)

أتمتوا المهام المتكررة باستخدام حلقتَي 'for' و'while'، مع التكرار على القوائم أو الملفات أو الشروط.

تراكيب الحلقات (for، while) درس مجاني في Linux Command Line & Bash Scripting Mastery على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Linux Command Line & Bash Scripting Mastery، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Linux Command Line & Bash Scripting Mastery 4 دروس في المجموع.

أتمتة المهام باستخدام الحلقات

مرحبًا بكم! سنتعمق في هذا الدرس في عالم الحلقات ضمن برمجة Bash. الحلقات أدوات قوية تتيح لنصوصكم البرمجية تكرار مجموعة من الأوامر عدة مرات.

وهذا ضروري لأتمتة المهام المتكررة، ومعالجة قوائم البيانات، أو تنفيذ الإجراءات حتى تحقق شرطًا معينًا. وسنستكشف نوعين رئيسيين: حلقات for وحلقات while.

حلقة 'for': قوائم العناصر

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

صيغتها الأساسية هي:

  • for variable in item1 item2 ...; do
  • commands to repeat
  • done

سيُسنَد كل عنصر في القائمة إلى variable، وستُنفَّذ الأوامر لكل عنصر.

مثال: التكرار عبر قائمة

لنرَ حلقة for أثناء العمل من خلال التكرار عبر قائمة من الفواكه. جرّب تشغيل هذا المثال لترى كيفية معالجة كل فاكهة:

#!/bin/bash

echo "My favorite fruits:"
for fruit in Apple Banana Orange;
do
  echo "$fruit is delicious!"
done

حلقة 'for': تسلسلات الأرقام

يمكن لحلقة for أيضًا إنشاء تسلسلات من الأرقام والتكرار عبرها بسهولة. وهذا مفيد جدًا للمهام التي تتطلب العدّ أو معالجة العناصر حسب الفهرس.

يمكنك استخدام توسعة الأقواس {start..end} لإنشاء تسلسل من الأرقام:

  • for i in {1..5}; do ... done

وبديلًا عن ذلك، يمكن للأمر seq إنشاء تسلسلات مع خيارات إضافية، مثل الخطوات:

  • for i in $(seq 1 2 10); do ... done

مثال: العد باستخدام 'for'

إليك كيفية استخدام توسعة الأقواس للعدّ من 1 إلى 3. وهذا نمط شائع للحلقات الرقمية البسيطة.

#!/bin/bash

echo "Counting up:"
for i in {1..3};
do
  echo "Number: $i"
done

حلقة 'while': التكرار الشرطي

تنفّذ حلقة while مجموعة من الأوامر بشكل متكرر ما دام شرط محدد يظل صحيحًا. وهي مناسبة عندما لا تعرف مسبقًا عدد مرات التكرار المطلوبة.

بنيتها الأساسية هي:

  • while [ condition ]; do
  • commands to repeat
  • done

يُقيَّم الشرط قبل كل تكرار. فإذا كان صحيحًا، تُنفَّذ الأوامر؛ وإذا كان خاطئًا، تنتهي الحلقة.

مثال: عدّاد 'while' بسيط

يوضح هذا المثال حلقة while تعدّ من 1 إلى 3. لاحظ كيف تتم زيادة قيمة المتغير count داخل الحلقة لجعل الشرط خاطئًا في النهاية.

#!/bin/bash

count=1
echo "Counting with while loop:"
while [ $count -le 3 ];
do
  echo "Current count: $count"
  count=$((count + 1))
done

حلقة 'while': قراءة الملفات سطرًا سطرًا

من الاستخدامات الشائعة والقوية جدًا لحلقة while قراءة ملف ومعالجته سطرًا سطرًا. وهذا ضروري لتحليل ملفات السجل وملفات الإعدادات أو أي بيانات نصية.

غالبًا ما يكون النمط كما يلي:

  • while IFS= read -r line; do
  • commands to process $line
  • done < filename.txt

تُعد IFS= read -r طريقة موثوقة لقراءة الأسطر، إذ تمنع المشكلات المتعلقة بالمسافات والشرطات المائلة العكسية.

مثال: معالجة ملف

لنُنشئ ملفًا مؤقتًا ونستخدم حلقة while لقراءة محتواه وعرضه سطرًا سطرًا. يوضح هذا تطبيقًا عمليًا لمعالجة الملفات.

#!/bin/bash

# Create a temporary file for demonstration
echo "First line of data" > temp_data.txt
echo "Second line of data" >> temp_data.txt
echo "Third line of data" >> temp_data.txt

echo "\nReading from temp_data.txt:"
while IFS= read -r line;
do
  echo "Processed: $line"
done < temp_data.txt

# Clean up the temporary file
rm temp_data.txt

اختيار نوع الحلقة

لقد تعلمت عن حلقتَي for وwhile. ولكل منهما نقاط قوة تعتمد على المهمة المطلوبة.

تأمل السيناريو التالي: تحتاج إلى معالجة كل اسم ملف في مجلد محدد.

مراجعة: الحلقات لأتمتة المهام

لقد استكشفت بنجاح تراكيب الحلقات في Bash!

  • حلقة for مناسبة للتكرار عبر قائمة معروفة ومحدودة من العناصر أو عبر تسلسل من الأرقام.
  • حلقة while هي الأفضل عندما تحتاج إلى تكرار الأوامر ما دام شرط معين صحيحًا، وغالبًا ما تُستخدم للعدّ أو لقراءة الملفات سطرًا سطرًا.

يُعد إتقان هذه الحلقات أمرًا أساسيًا لكتابة نصوص Bash قوية ومؤتمتة. واصل التدريب لتطوير مهاراتك في كتابة النصوص البرمجية!

الأسئلة الشائعة

هل درس «تراكيب الحلقات (for، while)» مجاني؟

نعم — نص درس «تراكيب الحلقات (for، while)» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Linux Command Line & Bash Scripting Mastery، انتقل إلى CoddyKit PRO. تتضمن دورة Linux Command Line & Bash Scripting Mastery 4 دروس في المجموع.

ماذا ستتعلم في «تراكيب الحلقات (for، while)»؟

أتمتوا المهام المتكررة باستخدام حلقتَي 'for' و'while'، مع التكرار على القوائم أو الملفات أو الشروط. تتمرن على Linux Command Line & Bash Scripting Mastery مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Linux Command Line & Bash Scripting Mastery؟

لا تُشترط خبرة سابقة. Linux Command Line & Bash Scripting Mastery على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «تراكيب الحلقات (for، while)»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Linux Command Line & Bash Scripting Mastery هذا؟

نعم. كل درس في Linux Command Line & Bash Scripting Mastery يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. تراكيب الحلقات (for، while)
  2. الدوال في Bash Scripts
  3. وسائط واختيارات Script ($@، $ of، getopts)
  4. عبارة case ومطابقة الأنماط
← العودة إلى Linux Command Line & Bash Scripting Mastery