الدرس 21: حلقات Bash
سكربت النسخ الاحتياطي لدينا ينسخ مجلداً واحداً. في DevOps — لدينا عشرات. سنضيف حلقة for تمرّ على جميعها. `for dir in list; do ... done` تُنفّذ جسم الحلقة مرة واحدة لكل قيمة في القائمة. done (=do معكوسة) تُغلقها. `while [ condition ]; do ... done` تدور طالما أن الشرط صحيح — تُستخدم عندما يكون عدد
for مثل 'لكل'. `for dir in /app /etc; do echo $dir; done` تعني: نفّذ echo لـ /app، ثم لـ /etc. done تعني أننا انتهينا. while مثل 'طالما' — استمر بالتشغيل طالما أن الشرط صحيح.
- حلقة for
- for var in list; do ... done — يُسند bash في كل تكرار العنصر التالي في القائمة. done تُغلق جسم الحلقة. مفيدة لمعالجة القوائم: الخوادم، الملفات، المجلدات.
- حلقة while
- while [ condition ]; do ... done — تدور طالما أن الشرط صحيح. شائعة للعدّ باستخدام عدّاد، أو قراءة الأسطر، أو انتظار حدث. نسيان تحديث العدّاد = حلقة لا نهائية.