AzLearn

تطبيق: جرد خدمات

Service Inventory Walkthrough

تطبيق ~22 دقيقة

تطبيق: جرد خدمات — Service Inventory Walkthrough

سنربط الآن arrays وassociative arrays في سكربت واحد. لدينا قائمة خدمات مرتبة، وخريطة تربط كل خدمة بحالتها. القائمة تحفظ ترتيب العرض، والخريطة تحفظ التفاصيل. هذا نمط مفيد لأن associative array لا تضمن ترتيباً مناسباً دائماً، بينما array تعطينا تسلسلاً واضحاً.

ابدأ بتعريف services=("nginx" "worker" "backup"). ثم declare -A status. بعد ذلك مر على القائمة واقرأ حالة كل خدمة من الخريطة. لو لم توجد حالة، استخدم قيمة افتراضية مثل unknown. هذا يجعل التقرير متماسكاً حتى لو نسيت خدمة.

سكربت التقرير

script.sh

لاحظ صيغة ${status[$service]:-unknown}. إذا لم توجد القيمة أو كانت فارغة، نستخدم unknown. هذا مناسب للتقارير، لكنه قد يخفي خطأ في حالات أخرى. اختر الافتراضي فقط عندما يكون مقبولاً.

تحسين محتمل

يمكنك إضافة عداد للحالات، أو ترتيب مختلف، أو فلترة للخدمات المتدهورة فقط. لا تضف كل شيء في دالة واحدة. ابدأ بالتقرير الأساسي ثم وسّعه بخطوات صغيرة.

تحدي — Challenge