حقيبة
In سحق، يسمى الأمر المركب متعدد الخيارات حقيبة. لديها ضريبة المزامنة التالية:
حقيبة كلمة in
[النمط [| النمط] ...) الأوامر ؛؛] ...
ESAC
إذا نظرنا إلى قائمة القراءة برنامج من الفصل 28 ، نرى المنطق المستخدم للعمل على اختيار المستخدم:
#! / بن / باش
# قائمة القراءة: برنامج معلومات نظام يحركه القائمة واضح
صدى صوت "
الرجاء التحديد:
1. عرض معلومات النظام
2. عرض مساحة القرص
3. عرض استخدام مساحة المنزل
0. إنهاء "
read -p "أدخل التحديد [0-3]>"
إذا [[$ REPLY = ~ ^ [0-3] $]] ؛ ثم إذا [[$ REPLY == 0]] ؛ من ثم
#! / بن / باش
# قائمة القراءة: برنامج معلومات نظام يحركه القائمة واضح
صدى صوت "
الرجاء التحديد:
1. عرض معلومات النظام
2. عرض مساحة القرص
3. عرض استخدام مساحة المنزل
0. إنهاء "
read -p "أدخل التحديد [0-3]>"
إذا [[$ REPLY = ~ ^ [0-3] $]] ؛ ثم إذا [[$ REPLY == 0]] ؛ من ثم
صدى "تم إنهاء البرنامج". خروج
fi
إذا [[$ REPLY == 1]] ؛ ثم صدى وقت تشغيل "Hostname: $ HOSTNAME"
خروج
fi
إذا [[$ REPLY == 2]] ؛ ثم df -h
خروج
fi
إذا [[$ REPLY == 3]] ؛ من ثم
إذا [[$ (id -u) -eq 0]]؛ من ثم
صدى "Home Space Utilization (All Users)" du -sh / home / *
آخر
صدى "Home Space Utilization ($ USER)" du -sh $ HOME
فاي خروج
فاي آخر
صدى "إدخال غير صالح". > & 2 الخروج 1
fi
صدى "تم إنهاء البرنامج". خروج
fi
إذا [[$ REPLY == 1]] ؛ ثم صدى وقت تشغيل "Hostname: $ HOSTNAME"
خروج
fi
إذا [[$ REPLY == 2]] ؛ ثم df -h
خروج
fi
إذا [[$ REPLY == 3]] ؛ من ثم
إذا [[$ (id -u) -eq 0]]؛ من ثم
صدى "Home Space Utilization (All Users)" du -sh / home / *
آخر
صدى "Home Space Utilization ($ USER)" du -sh $ HOME
فاي خروج
فاي آخر
صدى "إدخال غير صالح". > & 2 الخروج 1
fi
باستخدام حقيبة، يمكننا استبدال هذا المنطق بشيء أبسط:
#! / بن / باش
# case-menu: برنامج معلومات نظام يحركه قائمة واضح
صدى صوت "
الرجاء التحديد:
1. عرض معلومات النظام
2. عرض مساحة القرص
3. عرض استخدام مساحة المنزل
0. إنهاء "
read -p "أدخل التحديد [0-3]>"
حالة $ REPLY في
0) صدى "تم إنهاء البرنامج". خروج
;;
#! / بن / باش
# case-menu: برنامج معلومات نظام يحركه قائمة واضح
صدى صوت "
الرجاء التحديد:
1. عرض معلومات النظام
2. عرض مساحة القرص
3. عرض استخدام مساحة المنزل
0. إنهاء "
read -p "أدخل التحديد [0-3]>"
حالة $ REPLY في
0) صدى "تم إنهاء البرنامج". خروج
;;
1) صدى وقت تشغيل "Hostname: $ HOSTNAME"
;;
2) مدافع-ح
;;
3) إذا [[$ (id -u) -eq 0]] ؛ من ثم
صدى "Home Space Utilization (All Users)" du -sh / home / *
آخر
صدى "Home Space Utilization ($ USER)" du -sh $ HOME
fi
;;
*) صدى "إدخال غير صالح"> & 2 خروج 1
;;
ESAC
1) صدى وقت تشغيل "Hostname: $ HOSTNAME"
;;
2) مدافع-ح
;;
3) إذا [[$ (id -u) -eq 0]] ؛ من ثم
صدى "Home Space Utilization (All Users)" du -sh / home / *
آخر
صدى "Home Space Utilization ($ USER)" du -sh $ HOME
fi
;;
*) صدى "إدخال غير صالح"> & 2 خروج 1
;;
ESAC
• حقيبة الأمر يبحث في قيمة كلمة، في مثالنا ، قيمة الرد متغير ، ثم يحاول مطابقته مع أحد المحدد أنماط. عندما يتم العثور على تطابق ، فإن الأوامر المرتبطة بالنمط المحدد يتم تنفيذها. بعد العثور على تطابق ، لم تتم محاولة أي مطابقات أخرى.