الخميس، 21 يوليو 2011

Shell script: المتغير ?$ و أستخدامه في برمجة الشيل سكريبت

بسم الله الرحمن الرحيم

عند تنفيذ أي برنامج أو أمر في لينكس فأنه يعيد قيمة رقمية عند أنتهاء تنفيذ البرنامج تكون هذه القيمة مساوية للصفر في حالة نجاح تنفيذ البرنامج و أكبر من الصفر و أصغر من 255 في حالة حدوث أي خطأ في التنفيذ , تسمى هذه القيمة بـــ "Exit status" في نظام لينكس و تستطيع التعامل مع هذه القيمة بأستخدام المتغير الخاص ?$ كما في المثال التالي :


abgoor@abgoor-laptop:~$ pwd
/home/abgoor
abgoor@abgoor-laptop:~$ echo $?
0

في المثال قمنا بتنفيذ الأمر pwd ( الأمر الخاص بعرض المجلد الحالي ) طبعا كما هو واضح نجح تنفيذ الأمر أي أن قيمة يجب أن تكون مساوية للصفر , في السطر الثاني أستخدمنا الأمر echo للطباعة المتغير الناتج عن الأمر السابق pwd .

و الأن ألى شرح الأمر exit و التحكم في قيمة "Exit status" في برامج shell الخاص بك , يستخدم الأمر exit لأنهاء تنفيذ البرنامج كما في المثال التالي :





#!/bin/bash
echo "Test program"
exit

قم بحفظ الملف السابق ثم تنفيذه من موجه الأوامر كالتالي:

abgoor@abgoor-laptop:~$ ./test.sh
abgoor@abgoor-laptop:~$ echo $?
0

تلاحظ  أن قيمة "Exit status" هي صفر و لكن تستطيع تخصيص القيمة بوضع القيمة المراده بعد الأمر exit كما في المثال التالي :

#!/bin/bash
echo "Test program"
exit 22

عند تنفيذ البرنامج السابق سيعيد القيمة 22 كما في المثال :
abgoor@abgoor-laptop:~$ ./test.sh
abgoor@abgoor-laptop:~$ echo $?
22

و في النهاية أذا أردت مثال عملي على أستخدام هذه القيمة في سكريبت قم بقراءة هذا الموضوع .

ليست هناك تعليقات:

إرسال تعليق