OnWorks Linux و Windows Online WorkStations

الشعار

استضافة مجانية على الإنترنت لمحطات العمل

<السابق | المحتويات | التالي>

أداء إجراءات متعددة

في إصدارات سحق قبل 4.0 ، حقيبة سمح بتنفيذ إجراء واحد فقط على مباراة ناجحة. بعد مطابقة ناجحة ، سينتهي الأمر. نرى هنا نصًا يختبر شخصية:



#! / بن / باش


# case4-1: اختبر شخصية


read -n 1 -p "اكتب حرفًا>" صدى

حالة $ REPLY في

[[: upper:]]) صدى "'$ REPLY' هي الأحرف الكبيرة." ؛؛

[[: less:]]) صدى "'$ REPLY' هي الأحرف الصغيرة." ؛؛

[[: alpha:]]) صدى "$ REPLY" أبجدي. " ؛؛

[[: digit:]]) صدى "'$ REPLY' هو رقم." ؛؛ [[: graph:]]) صدى "'$ REPLY' هو حرف مرئي." ؛؛

[[: punct:]]) صدى "'$ REPLY' هو رمز ترقيم." ؛؛ [[: space:]]) صدى "'$ REPLY' هو حرف مسافة بيضاء." ؛؛ [[: xdigit:]]) صدى "'$ REPLY' هو رقم سداسي عشري." ؛؛

ESAC

#! / بن / باش


# case4-1: اختبر شخصية


read -n 1 -p "اكتب حرفًا>" صدى

حالة $ REPLY في

[[: upper:]]) صدى "'$ REPLY' هي الأحرف الكبيرة." ؛؛

[[: less:]]) صدى "'$ REPLY' هي الأحرف الصغيرة." ؛؛

[[: alpha:]]) صدى "$ REPLY" أبجدي. " ؛؛

[[: digit:]]) صدى "'$ REPLY' هو رقم." ؛؛ [[: graph:]]) صدى "'$ REPLY' هو حرف مرئي." ؛؛

[[: punct:]]) صدى "'$ REPLY' هو رمز ترقيم." ؛؛ [[: space:]]) صدى "'$ REPLY' هو حرف مسافة بيضاء." ؛؛ [[: xdigit:]]) صدى "'$ REPLY' هو رقم سداسي عشري." ؛؛

ESAC


ينتج عن تشغيل هذا البرنامج النصي ما يلي:



[me @ linuxbox ~] $ حالة4-1

اكتب حرف> a

"أ" هي حالة صغيرة.

[me @ linuxbox ~] $ حالة4-1

اكتب حرف> a

"أ" هي حالة صغيرة.


يعمل البرنامج النصي في معظم الأحيان ، لكنه يفشل إذا تطابق الحرف مع أكثر من فئة من فئات أحرف POSIX. على سبيل المثال ، يكون الحرف "a" صغيرًا وأبجديًا ، بالإضافة إلى رقم سداسي عشري. في سحق قبل الإصدار 4.0 لم تكن هناك طريقة لـ حقيبة لتتناسب مع أكثر من اختبار. الإصدارات الحديثة من سحق، أضف الترميز "؛؛ &" إلى


إنهاء كل إجراء ، لذا يمكننا الآن القيام بذلك:



#! / بن / باش


# case4-2: اختبر شخصية


read -n 1 -p "اكتب حرفًا>" صدى

حالة $ REPLY في

[[: upper:]]) صدى "'$ REPLY' هي الأحرف الكبيرة." ؛؛ &

[[: less:]]) صدى "'$ REPLY' هي الأحرف الصغيرة." ؛؛ &

[[: alpha:]]) صدى "$ REPLY" أبجدي. " ؛؛ &

[[: digit:]]) صدى "'$ REPLY' هو رقم." ؛؛ & [[: graph:]]) صدى "'$ REPLY' هو حرف مرئي." ؛؛ &

[[: punct:]]) صدى "'$ REPLY' هو رمز ترقيم." ؛؛ & [[: space:]]) صدى "'$ REPLY' هو حرف مسافة بيضاء." ؛؛ & [[: xdigit:]]) صدى "'$ REPLY' هو رقم سداسي عشري." ؛؛ &

ESAC

#! / بن / باش


# case4-2: اختبر شخصية


read -n 1 -p "اكتب حرفًا>" صدى

حالة $ REPLY في

[[: upper:]]) صدى "'$ REPLY' هي الأحرف الكبيرة." ؛؛ &

[[: less:]]) صدى "'$ REPLY' هي الأحرف الصغيرة." ؛؛ &

[[: alpha:]]) صدى "$ REPLY" أبجدي. " ؛؛ &

[[: digit:]]) صدى "'$ REPLY' هو رقم." ؛؛ & [[: graph:]]) صدى "'$ REPLY' هو حرف مرئي." ؛؛ &

[[: punct:]]) صدى "'$ REPLY' هو رمز ترقيم." ؛؛ & [[: space:]]) صدى "'$ REPLY' هو حرف مسافة بيضاء." ؛؛ & [[: xdigit:]]) صدى "'$ REPLY' هو رقم سداسي عشري." ؛؛ &

ESAC


عندما نقوم بتشغيل هذا البرنامج النصي ، نحصل على هذا:



[me @ linuxbox ~] $ حالة4-2

اكتب حرف> a "أ" هي حالة صغيرة. "أ" أبجدية.

"أ" هي شخصية مرئية. "أ" هو رقم سداسي عشري.

[me @ linuxbox ~] $ حالة4-2

اكتب حرف> a "أ" هي حالة صغيرة. "أ" أبجدية.

"أ" هي شخصية مرئية. "أ" هو رقم سداسي عشري.


تسمح إضافة صيغة "؛؛ &" للحالة بالاستمرار في الاختبار التالي بدلاً من مجرد إنهاءها.


أفضل الحوسبة السحابية لنظام التشغيل في OnWorks: