فهم الـ Exit Codes في نظام لينكس: دليل مبسط للمبتدئين

ما هي الـ Exit Codes؟

الـ Exit Codes هي أرقام تُستخدم في نظام لينكس (وأنظمة التشغيل المشابهة) للإشارة إلى حالة انتهاء تنفيذ برنامج أو أمر معين. عندما ينتهي برنامج ما، يقوم بإرجاع قيمة رقمية تُعرف بـ “Exit Code” إلى النظام. هذه القيمة تساعد في تحديد ما إذا كان البرنامج قد انتهى بنجاح أو بوجود خطأ.

القيم الشائعة للـ Exit Codes

  • 0: يشير إلى أن البرنامج انتهى بنجاح دون أي أخطاء.
  • 1: يشير إلى حدوث خطأ عام.
  • 2: يشير إلى خطأ في استخدام الأوامر.
  • 126: يشير إلى أن الأمر غير قابل للتنفيذ.
  • 127: يشير إلى أن الأمر غير موجود.
  • 130: يشير إلى أن البرنامج تم إيقافه باستخدام إشارة مقاطعة (مثل Ctrl+C).

كيفية استخدام الـ Exit Codes في السكربتات

مثال بسيط

لنأخذ مثالًا بسيطًا على سكربت Bash:

#!/bin/bash

# تنفيذ أمر
mkdir /some/directory

# التحقق من Exit Code
if [ $? -eq 0 ]; then
  echo "تم إنشاء المجلد بنجاح"
else
  echo "فشل في إنشاء المجلد"
fi

في هذا المثال:

  • يتم تنفيذ أمر mkdir لإنشاء مجلد.
  • يتم التحقق من Exit Code باستخدام $?. إذا كان يساوي 0، يتم طباعة رسالة نجاح، وإلا يتم طباعة رسالة فشل.

استخدام Exit Codes في دوال

يمكنك أيضًا استخدام Exit Codes داخل دوال في السكربتات:

#!/bin/bash

# دالة لإنشاء مجلد
create_directory() {
  mkdir $1
  if [ $? -eq 0 ]; then
    echo "تم إنشاء المجلد $1 بنجاح"
  else
    echo "فشل في إنشاء المجلد $1"
  fi
}

# استدعاء الدالة
create_directory /some/directory

استخدام Exit Codes مع أوامر متعددة

إذا كنت تستخدم أوامر متعددة، يمكنك التحقق من Exit Code لكل أمر على حدة:

#!/bin/bash

# تنفيذ أوامر متعددة
cp /source/file /destination/
if [ $? -ne 0 ]; then
  echo "فشل في نسخ الملف"
  exit 1
fi

mv /destination/file /new/location/
if [ $? -ne 0 ]; then
  echo "فشل في نقل الملف"
  exit 1
fi

echo "تمت جميع العمليات بنجاح"

استخدام Exit Codes مع شروط معقدة

يمكنك أيضًا استخدام Exit Codes مع شروط أكثر تعقيدًا:

#!/bin/bash

# تنفيذ أمر
ls /some/directory
exit_code=$?

# التحقق من Exit Code
if [ $exit_code -eq 0 ]; then
  echo "المجلد موجود"
elif [ $exit_code -eq 2 ]; then
  echo "المجلد غير موجود"
else
  echo "حدث خطأ غير معروف"
fi

لماذا هي مهمة؟

تعتبر الـ Exit Codes مهمة لأنها تساعد في إدارة الأخطاء والتحقق من نجاح الأوامر في السكربتات والبرامج. باستخدامها، يمكنك كتابة سكربتات أكثر موثوقية وقابلة للصيانة.


Khaled Salama
Khaled Salama
المقالات: 14

اترك ردّاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *