أنماط
الأنماط المستخدمة من قبل حقيبة هي نفسها التي يستخدمها توسيع اسم المسار. يتم إنهاء الأنماط بحرف ")". فيما يلي بعض الأنماط الصحيحة:
الجدول 31-1: أمثلة على نمط الحالة
وصف النمط
وصف النمط
a) يطابق إذا كلمة يساوي "أ".
[[:ألفا:]]) يطابق إذا كلمة هو حرف أبجدي واحد.
؟؟؟) يطابق إذا كلمة هو بالضبط ثلاثة أحرف.
*.رسالة قصيرة) يطابق إذا كلمة تنتهي بأحرف ".txt".
*) يطابق أي قيمة لـ كلمة. من الممارسات الجيدة تضمين هذا كنمط أخير في ملف حقيبة الأمر ، للقبض على أي قيم كلمة التي لا تتطابق مع النمط السابق ؛ أي ، للقبض على أي قيم غير صالحة محتملة.
فيما يلي مثال على الأنماط في العمل:
#! / بن / باش
read -p "أدخل كلمة>" حالة $ REPLY في
[[: alpha:]]) صدى "هو حرف أبجدي واحد." ؛؛ [ABC] [0-9]) صدى "هو A أو B أو C متبوعًا برقم." ؛؛
؟؟؟) صدى "ثلاثة أحرف طويلة." ؛؛
* .txt) صدى "كلمة تنتهي بـ '.txt'" ؛؛
*) صدى "شيء آخر". ؛؛ esac
#! / بن / باش
read -p "أدخل كلمة>" حالة $ REPLY في
[[: alpha:]]) صدى "هو حرف أبجدي واحد." ؛؛ [ABC] [0-9]) صدى "هو A أو B أو C متبوعًا برقم." ؛؛
؟؟؟) صدى "ثلاثة أحرف طويلة." ؛؛
* .txt) صدى "كلمة تنتهي بـ '.txt'" ؛؛
*) صدى "شيء آخر". ؛؛ esac
من الممكن أيضًا دمج أنماط متعددة باستخدام حرف الشريط الرأسي كفاصل. يؤدي هذا إلى إنشاء نمط شرطي "أو". هذا مفيد لأشياء مثل التعامل مع كل من الأحرف الكبيرة والصغيرة. على سبيل المثال:
#! / بن / باش
# case-menu: برنامج معلومات نظام يحركه قائمة واضح
صدى صوت "
الرجاء التحديد:
A. عرض معلومات النظام
B. عرض مساحة القرص
C. عرض استخدام مساحة المنزل
Q. استقال "
read -p "أدخل التحديد [A أو B أو C أو Q] > "
حالة $ REPLY في
ف | س) صدى "تم إنهاء البرنامج". خروج
;;
أ | أ) صدى وقت تشغيل "Hostname: $ HOSTNAME"
;;
ب | ب) مدافع -h
;;
ج | ج) إذا [[$ (id -u) -eq 0]]؛ من ثم
صدى "Home Space Utilization (All Users)" du -sh / home / *
آخر
صدى "Home Space Utilization ($ USER)" du -sh $ HOME
fi
#! / بن / باش
# case-menu: برنامج معلومات نظام يحركه قائمة واضح
صدى صوت "
الرجاء التحديد:
A. عرض معلومات النظام
B. عرض مساحة القرص
C. عرض استخدام مساحة المنزل
Q. استقال "
read -p "أدخل التحديد [A أو B أو C أو Q] > "
حالة $ REPLY في
ف | س) صدى "تم إنهاء البرنامج". خروج
;;
أ | أ) صدى وقت تشغيل "Hostname: $ HOSTNAME"
;;
ب | ب) مدافع -h
;;
ج | ج) إذا [[$ (id -u) -eq 0]]؛ من ثم
صدى "Home Space Utilization (All Users)" du -sh / home / *
آخر
صدى "Home Space Utilization ($ USER)" du -sh $ HOME
fi
;;
*) صدى "إدخال غير صالح"> & 2 خروج 1
;;
ESAC
;;
*) صدى "إدخال غير صالح"> & 2 خروج 1
;;
ESAC
هنا ، نقوم بتعديل قائمة الحالات برنامج لاستخدام الحروف بدلا من الأرقام لاختيار القائمة ، نشوئها. لاحظ كيف تسمح الأنماط الجديدة بإدخال كل من الأحرف الكبيرة والصغيرة.