الشروط
Conditionals
الشروط — Conditionals
الشروط تجعل السكربت يتصرف حسب الحالة. في Bash ستستخدم غالباً if مع [[ ... ]] للنصوص والأرقام البسيطة، وcase عندما يكون لديك عدة أوامر أو أوضاع. الصيغة [[ ... ]] أأمن وأوضح من [ ... ] في كثير من الحالات لأنها تقلل مشاكل الاقتباس والتفسير القديم.
مثال نصي: [[ "$env" == "prod" ]]. مثال رقمي: (( count > 0 )). انتبه أن المقارنات النصية والرقمية ليست الشيء نفسه. لا تستخدم > داخل [[ ]] لمقارنة الأرقام؛ استخدم arithmetic context مثل (( ... )) أو معاملات مثل -gt.
استخدم case عندما تقرأ أمراً فرعياً مثل start أو stop أو status. هذه الصيغة تجعل الفروع مرتبة وتمنع سلسلة طويلة من if elif elif. في السكربتات التشغيلية، case غالباً أوضح لأنها تشبه قائمة أوامر.
مثال if وcase
تجنب الشروط الذكية أكثر من اللازم. الشرط الجيد يقرأ كجملة: “إذا كانت البيئة إنتاجاً، اطبع تحذيراً”. لو احتجت شرحاً طويلاً للشرط، ربما تحتاج دالة باسم واضح مثل is_production.
رسائل الخطأ
عند فشل شرط ضروري، اطبع رسالة واضحة واخرج. لا تجعل السكربت يكمل بقيم افتراضية خطيرة. مثلاً إذا كان المسار غير موجود، قل ذلك مباشرة ولا تنشئ مجلداً جديداً إلا إذا كان هذا هو الهدف المعلن للسكربت.