بسم الله الرحمن الرحيم
يستخدم الأمر whiptail لتوفير واجهة رسومية مباشرة في موجه الأوامر مما يسهل التعامل مع السكريبت للمستخدمين العاديين .
- عرض رسالة للمستخدم :
whiptail --title "Example1" --msgbox "Hello,World" 10 40
1 . title-- : عنوان الرسالة
2. msgbox-- : أختيار عرض رسالة المعلومات متبوعاً بالنص المراد عرضه
3. 10 : أرتفاع الرسالة
4. 40 : عرض الرسالة .
whiptail --title "Example1" --yesno "Example1:yes/no box." 10 78
1. title-- : عنوان الرسالة .
2. yesno--: أختيار صندوق الرسائل متبوعاً بالرسالة المراد عرضها .
3. 10 : أرتفاع الرسالة .
4. 78 : عرض الرسالة .
عند أختيار yes يعيد البرنامج القيمة صفر و القيمة واحد عند الأختيار No و يتم حفظ هذه القيمة في المتغير الخاص ?$ و هذا مثال للتعامل مع هذا المتغير :
whiptail --title "Example1" --yesno "Example1:yes/no box." 10 78
exitstatus=$?
if [ $exitstatus = 0 ]; then
echo "User selected Yes."
else
echo "User selected No."
fi
echo "(Exit status was $exitstatus)"
exitstatus=$?
if [ $exitstatus = 0 ]; then
echo "User selected Yes."
else
echo "User selected No."
fi
echo "(Exit status was $exitstatus)"
- الحصول على معلومات من المستخدم :
name=$(whiptail --inputbox "what is your name" 10 40 3>&1 1>&2 2>&3)
echo $name
echo $name
3>&1 1>&2 2>&3
- الحصول على كلمات السر :
password=$(whiptail --passwordbox "Password:" 10 40 3>&1 1>&2 2>&3)
echo $password
echo $password
هذا الأختيار مشابه للسابق و الفرق بأنه سيتم عرض نجوم بدل عرض النص المطبوع .
- إنشاء قائمة :
meun=$(whiptail --menu "Operating system" 20 70 10 "Option 1" "information" "Option2" "information" 3>&1 1>&2 2>&3)
تحديد طول و عرض القائمة و طول القائمة:
20 70 10
عرض القيم مع شرح لكل قيمة :
"Option 1" "information"
يتم طباعة القيمة المختارة في الجهاز sterr و لتغلب على هذه المشكلة أستخدمنا هذا السطر:
3>&1 1>&2 2>&3
- قائمة أختيارات متعددة:
list=$(whiptail --checklist "List" 10 28 3 "option1" "info" ON "option2" "info" OFF 3>&1 1>&2 2>&3)
المختلف في هذه القائمة هو ان المستخدم يستطيع تمكين أكثر من أختيار , كما أن المبرمج يستطيع التحكم في حالة اﻷختيارات :
"option1" "info" ON
سيتم تفيعل الاختيار بواسطة "ON" في نهاية الأمر ,و عند أنهاء تنفيذ الأمر سيتم حفظ الأختيارات في المتغير list .
- مؤشر التقدم "Progress gauge" :
ليست هناك تعليقات:
إرسال تعليق