بسم الله الرحمن الرحيم
يستخدم الأمر getopts لتعامل مع المعاملات الخاصة بالسكريبت بشكل أحترافي , و لهذا المقال لنقترض سنعتمد على هذا السكريبت لشرح هذا الأمر :
#!/bin/bash
while getopts "f:n:h" OPTION
do
case $OPTION in
f)File=$OPTARG
cat $File;;
n)num=$OPTARG
echo $num;;
h)echo "Help";;
?) echo "test Program"
exit ;;
esac
done
سنبدأ بشرح السطر الثاني الذي يحتوي على الأمر getopts :
while getopts "f:n:h" OPTION
ستقوم الحلقة التكرارية while بالعمل حتي يتم يتنهي عمل الأمر getopts في الحصول على المعاملات المعرفة في ما بين علامتي التنصيص .
"f:n:h"
المعاملات في مثالنا هي f- , -n , -h و ترمز النقطتين بعد المعامل لوجود بيانات تابعه للمعامل كهذا المثال للمعامل f :
-f filename
في حالة عدم وجود أي بيانات تابعة للمعاملات سيتم كتابة المعاملات بدون أي مسافة كالتالي :
while getopts "fnh" OPTION
يلي هذا السطر الجملة القرار case التي سوف تنفذ على المتغير OPTION الخاص بحفظ القيمة التي يستعديها الأمر getopts .
case $OPTION in
f)File=$OPTARG
cat $File;;
n)num=$OPTARG
echo $num;;
h)echo "Help";;
?) echo "test Program"
exit ;;
esac
يستخدم المتغير الخاص OPTARG لحفظ البيانات التابعة لمعامل في المعامل f لنفترض أن المستخدم قام بكتابة الأمر كالتالي :
-f filename
سيكون قيمة المتغير OPTARG مساوية لقيمة filename , هذا هو شرح بسيط لهذه الأداة التي تزيد من فعالية البرامج .
ليست هناك تعليقات:
إرسال تعليق