حلقة 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 قوية بشكل خاص عندما تقترن بالحروف البديلة (wildcards). يمكنك التكرار خلال جميع الملفات في دليل معين:
#!/bin/bash
for file in *.txt; do
echo "Processing $file"
doneيقوم هذا بالتكرار خلال كل ملف .txt في الدليل الحالي. في كل تكرار، يحتفظ المتغير file باسم الملف الحالي، مما يتيح لك تنفيذ العمليات على كل ملف تلقائيًا.
يمكنك أيضًا التكرار خلال نطاق من الأرقام باستخدام التوسيع القوسي (brace expansion):
#!/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 مع توسيع الأقواس (brace expansion) للتكرار عبر الأرقام تنازلياً من 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مشروع سكربت النسخ الاحتياطي
نظرة عامة على المشروعالحصول على مسار المصدر