حلقة 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 باسم الملف الحالي، مما يتيح لك إجراء العمليات على كل ملف تلقائيًا.
يمكنك أيضًا التكرار عبر نطاق من الأرقام باستخدام توسيع الأقواس:
#!/bin/bash
for i in {1..5}; do
echo "Number: $i"
doneيطبع هذا الأرقام من 1 إلى 5. تحوّل حلقات for المهام المتكررة إلى بضعة أسطر من التعليمات البرمجية فقط، مما يجعل البرامج النصية أكثر كفاءة وأسهل في الصيانة.
التحدي
سهلأنشئ برنامجًا نصيًا shell باسم countdown.sh يستخدم حلقة for لطباعة عدٍّ تنازلي من 5 إلى 1.
يجب أن يقوم برنامجك النصي بما يلي:
- يبدأ بسطر shebang (
#!/bin/bash) - يستخدم حلقة
forمع توسيع الأقواس للتكرار عبر الأرقام من 5 تنازليًا إلى 1 - يطبع كل رقم في سطر مستقل بالتنسيق:
Countdown: [number]
اجعل البرنامج النصي قابلًا للتنفيذ وشغّله. يجب أن يكون الناتج:
Countdown: 5
Countdown: 4
Countdown: 3
Countdown: 2
Countdown: 1تلميح: استخدم
{5..1}لإنشاء نطاق تنازلي. داخل الحلقة، استخدمecho "Countdown: $i"حيث إنiهو متغير الحلقة.
جرّب بنفسك
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
7محتوى الملف
Head و Tailعد الكلمات (Word Count)أمر Sortأمر Uniqueأساسيات GrepGrep مع الخياراتملخص - محقق النصوص13أساسيات برمجة Shell
ما هو Shell Script؟إنشاء وتشغيل Scriptالمتغيرات في الـ Scriptsمدخلات المستخدم في الـ Scriptsجملة If الشرطيةحلقة For التكراريةحلقة While التكراريةمراجعة - مخمن الأرقام2التنقل
عرض مسار المجلد الحاليعرض الملفاتتغيير المجلدالمسارات المطلقة مقابل المسارات النسبيةمجلد المنزل ومجلد الجذرخلاصة - حدد مسارك8إعادة التوجيه
المخرجات القياسيةالكتابة فوق ملفالإضافة إلى ملفالمدخلات القياسيةالخطأ القياسيمراجعة - بناء سجل الأحداث11الأذونات
فهم الأذوناتقراءة الأذوناتChmod باستخدام الأرقامChmod باستخدام الرموزملكية الملفاتملخص - إحكام الحماية14مشروع سكربت النسخ الاحتياطي
نظرة عامة على المشروعالحصول على مسار المصدرتدرّب بنفسك: Playground لـ Terminal