AzLearn

الإرجاع وحالة النجاح

Return Status

مفهوم ~17 دقيقة

الإرجاع وحالة النجاح — Return Status

في Bash، return لا يرجع نصاً مثل كثير من اللغات. هو يرجع status رقمياً من 0 إلى 255. الصفر يعني نجاحاً. لذلك إذا أردت أن تعطي نصاً من دالة، غالباً تطبعه ثم يلتقطه المستدعي باستخدام command substitution: result="$(my_function)".

هذا الفصل مهم لأنه يمنع لبساً شائعاً. لا تكتب return "$name"؛ هذا خطأ لأن return ينتظر رقماً. اكتب echo "$name" إذا كانت الدالة تنتج نصاً، واستخدم return 0 أو return 1 إذا كانت تفحص شرطاً.

الدوال التي تبدأ بـis_ أو has_ غالباً مناسبة للstatus. مثال: is_number "$value" ترجع نجاحاً إذا كانت القيمة رقماً. ثم تستخدمها داخل if is_number "$amount"; then.

مثال عملي

script.sh

لاحظ أن الدالة لا تحتاج return صريحاً. آخر أمر داخلها هو [[ ... ]]، وحالته تصبح حالة الدالة. هذه صيغة Bash نظيفة عندما تكون واضحة.

متى تطبع؟

اطبع من الدالة عندما تكون وظيفتها بناء نص أو تقرير. أرجع status عندما تكون وظيفتها السؤال: هل هذا صحيح؟ هل الملف موجود؟ هل القيمة آمنة؟ هذا الفصل بين “إنتاج نص” و"التحقق من شرط" يجعل السكربت أسهل في الاختبار.

تحدي — Challenge