بسم الله الرحمن الرحيم
عند تنفيذ أي برنامج أو أمر في لينكس فأنه يعيد قيمة رقمية عند أنتهاء تنفيذ البرنامج تكون هذه القيمة مساوية للصفر في حالة نجاح تنفيذ البرنامج و أكبر من الصفر و أصغر من 255 في حالة حدوث أي خطأ في التنفيذ , تسمى هذه القيمة بـــ "Exit status" في نظام لينكس و تستطيع التعامل مع هذه القيمة بأستخدام المتغير الخاص ?$ كما في المثال التالي :
abgoor@abgoor-laptop:~$ pwd
/home/abgoor
abgoor@abgoor-laptop:~$ echo $?
0
/home/abgoor
abgoor@abgoor-laptop:~$ echo $?
0
في المثال قمنا بتنفيذ الأمر pwd ( الأمر الخاص بعرض المجلد الحالي ) طبعا كما هو واضح نجح تنفيذ الأمر أي أن قيمة يجب أن تكون مساوية للصفر , في السطر الثاني أستخدمنا الأمر echo للطباعة المتغير الناتج عن الأمر السابق pwd .
و الأن ألى شرح الأمر exit و التحكم في قيمة "Exit status" في برامج shell الخاص بك , يستخدم الأمر exit لأنهاء تنفيذ البرنامج كما في المثال التالي :
#!/bin/bash
echo "Test program"
exit
echo "Test program"
exit
قم بحفظ الملف السابق ثم تنفيذه من موجه الأوامر كالتالي:
abgoor@abgoor-laptop:~$ ./test.sh
abgoor@abgoor-laptop:~$ echo $?
0
abgoor@abgoor-laptop:~$ echo $?
0
تلاحظ أن قيمة "Exit status" هي صفر و لكن تستطيع تخصيص القيمة بوضع القيمة المراده بعد الأمر exit كما في المثال التالي :
#!/bin/bash
echo "Test program"
exit 22
echo "Test program"
exit 22
عند تنفيذ البرنامج السابق سيعيد القيمة 22 كما في المثال :
abgoor@abgoor-laptop:~$ ./test.sh
abgoor@abgoor-laptop:~$ echo $?
22
abgoor@abgoor-laptop:~$ echo $?
22
و في النهاية أذا أردت مثال عملي على أستخدام هذه القيمة في سكريبت قم بقراءة هذا الموضوع .
ليست هناك تعليقات:
إرسال تعليق