OnWorks Linux و Windows Online WorkStations

الشعار

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

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

تعبيرات السلسلة

يتم استخدام التعبيرات التالية لتقييم السلاسل:


الجدول 27-2: تعبيرات سلسلة الاختبار


التعبير صحيح إذا ...

التعبير صحيح إذا ...

سلسلة سلسلة هو ليس لاشيء.


صورة

-n سلسلة طول سلسلة أكبر من الصفر.


صورة

صورة

-z سلسلة طول سلسلة صفر.

string1 = سلسلة 2 سلسلة 1 == سلسلة 2

السلسلة 1 والسلسلة 2 متساويتان. يمكن استخدام علامة مساواة مفردة أو مزدوجة، ولكن يُفضل استخدام علامتي مساواة مزدوجتين.


صورة

صورة

صورة

صورة

string1 != string2 string1 و string2 لا تتساوى. string1 > string2 string1 نوع بعد string2. string1 < string2 string1 يفرز من قبل string2.


صورة

تحذير: ال > و < يجب أن يتم وضع علامات اقتباس على مشغلي التعبيرات (أو يتم الإفلات منها باستخدام الشرطة المائلة العكسية) عند استخدامها مع تجربه بالعربيإذا لم تكن كذلك، فسيتم تفسيرها بواسطة shell على أنها عوامل إعادة توجيه، مما قد يؤدي إلى نتائج مدمرة. لاحظ أيضًا أنه بينما سحق تنص الوثائق على أن ترتيب الفرز يتوافق مع ترتيب التجميع للموقع الحالي، ولكنه ليس كذلك. يُستخدم ترتيب ASCII (POSIX) في إصدارات سحق حتى الإصدار 4.0 بما في ذلك.


صورة


فيما يلي نص برمجي يتضمن تعبيرات سلسلة:



#! / بن / باش


# test-string: تقييم قيمة السلسلة ANSWER=maybe

إذا [ -z "$ANSWER" ]؛ إذن

صدى "لا يوجد إجابة." >&2 الخروج 1

fi


إذا [ "$ANSWER" = "نعم" ]؛ ثم صدى "الإجابة هي نعم."

elif [ "$ANSWER" = "no" ]; ثم echo "الإجابة هي لا."

elif [ "$ANSWER" = "maybe" ]; ثم echo "الإجابة هي MAYBE."

آخر

صدى "الجواب غير معروف."

fi

#! / بن / باش


# test-string: تقييم قيمة السلسلة ANSWER=maybe

إذا [ -z "$ANSWER" ]؛ إذن

صدى "لا يوجد إجابة." >&2 الخروج 1

fi


إذا [ "$ANSWER" = "نعم" ]؛ ثم صدى "الإجابة هي نعم."

elif [ "$ANSWER" = "no" ]; ثم echo "الإجابة هي لا."

elif [ "$ANSWER" = "maybe" ]; ثم echo "الإجابة هي MAYBE."

آخر

صدى "الجواب غير معروف."

fi


في هذا البرنامج النصي، نقوم بتقييم الثابت إجابةنحدد أولاً ما إذا كانت السلسلة فارغة. إذا كانت كذلك، ننهي البرنامج النصي ونضبط حالة الخروج على واحد. لاحظ إعادة التوجيه المُطبّقة على أمر الصدى. هذا يُعيد توجيه رسالة الخطأ "لا توجد إجابة" إلى الخطأ القياسي، وهو الإجراء الصحيح مع رسائل الخطأ. إذا لم تكن السلسلة فارغة، نُقيّم قيمتها لمعرفة ما إذا كانت تساوي "نعم" أو "لا" أو "ربما". نفعل ذلك باستخدام أليف، وهو اختصار لـ "else if". باستخدام أليف، نتمكن من إنشاء اختبار منطقي أكثر تعقيدًا.


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