OnWorks Linux و Windows Online WorkStations

الشعار

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

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

نسخة أكثر حداثة من الاختبار

الإصدارات الأخيرة من سحق تتضمن أمرًا مركبًا يعمل كبديل محسن لـ تجربه بالعربي. يستخدم بناء الجملة التالي:

[[ التعبير ]]

أين ، مثل تجربه بالعربي, التعبير هو تعبير يتم تقييمه إلى نتيجة صحيحة أو خاطئة. ال [[]] الأمر مشابه جدًا لـ تجربه بالعربي (إنه يدعم كل تعبيراته) ، لكن


يضيف تعبير سلسلة جديد مهم:

string1 =~ رجإكس

الذي يعود صحيحًا إذا string1 يطابقه التعبير العادي الممتد رجإكس. هذا يفتح الكثير من الاحتمالات لأداء مهام مثل التحقق من صحة البيانات. في مثالنا السابق عن التعبيرات الصحيحة ، سيفشل البرنامج النصي إذا كان الثابت INT تحتوي على أي شيء باستثناء عدد صحيح. يحتاج البرنامج النصي إلى طريقة للتحقق من احتواء الثابت على عدد صحيح. استخدام [[]] مع الالجائزة =~ عامل تعبير السلسلة ، يمكننا تحسين البرنامج النصي بهذه الطريقة:



#! / بن / باش


# test-صحيح 2: أوجد قيمة عدد صحيح.


ذكاء = -5


إذا [["$ INT" = ~ ^ -؟ [0-9] + $]] ؛ من ثم

إذا [$ INT -eq 0]؛ ثم صدى "INT هو صفر."

آخر

إذا [$ INT -lt 0] ؛ ثم صدى "INT سلبي."

آخر

صدى "INT إيجابي."

fi

إذا [$ ((INT٪ 2)) -eq 0] ؛ ثم صدى "INT حتى."

آخر

صدى "INT غريب."

fi

fi

آخر

صدى "INT ليس عددًا صحيحًا." > & 2 الخروج 1

fi

#! / بن / باش


# test-صحيح 2: أوجد قيمة عدد صحيح.


ذكاء = -5


إذا [["$ INT" = ~ ^ -؟ [0-9] + $]] ؛ من ثم

إذا [$ INT -eq 0]؛ ثم صدى "INT هو صفر."

آخر

إذا [$ INT -lt 0] ؛ ثم صدى "INT سلبي."

آخر

صدى "INT إيجابي."

fi

إذا [$ ((INT٪ 2)) -eq 0] ؛ ثم صدى "INT حتى."

آخر

صدى "INT غريب."

fi

fi

آخر

صدى "INT ليس عددًا صحيحًا." > & 2 الخروج 1

fi


من خلال تطبيق التعبير النمطي ، يمكننا تحديد قيمة INT إلى السلاسل التي تبدأ فقط بعلامة ناقص اختيارية ، متبوعة برقم واحد أو أكثر. هذا التفسير يلغي أيضا إمكانية القيم الفارغة.

ميزة أخرى مضافة من [[]] وهذا هو == المشغل يدعم مطابقة النمط بنفس طريقة توسيع اسم المسار. على سبيل المثال:



[me @ linuxbox ~] $ FILE = foo.bar

[me @ linuxbox ~] $ FILE = foo.bar

نسخة أكثر حداثة من الاختبار


[me @ linuxbox ~] $ إذا [[$ FILE == foo. *]] ؛ من ثم

> صدى "$ FILE يطابق النمط 'foo. *'"

> fi

يتطابق foo.bar مع النمط "foo. *"

[me @ linuxbox ~] $ إذا [[$ FILE == foo. *]] ؛ من ثم

> صدى "$ FILE يطابق النمط 'foo. *'"

> fi

يتطابق foo.bar مع النمط "foo. *"


وهذا يجعل [[]] مفيد لتقييم الملف وأسماء المسار.


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