كي لا يخدعك البائع عند شراء تلفزيون SMART TV / أكتشف بنفسك السر الكبير !!
جدول المحتويات:
- عوامل المقارنة
- تحقق مما إذا كانت السلسلة تحتوي على سلسلة فرعية
- تحقق مما إذا كانت السلسلة فارغة
- مقارنة السلاسل مع مشغل الحالة
- مقارنة معجمية
- استنتاج
عند كتابة البرامج النصية للباش ، ستحتاج غالبًا إلى مقارنة سلسلتين للتحقق مما إذا كانت متساوية أم لا. سلسلتان متساويتان عندما يكون لهما نفس الطول ويحتويان على نفس تسلسل الأحرف.
يصف هذا البرنامج التعليمي كيفية مقارنة السلاسل في Bash.
عوامل المقارنة
عوامل تشغيل المقارنة هي عوامل تقارن القيم وتعود صواب أو خطأ. عند مقارنة السلاسل في Bash ، يمكنك استخدام العوامل التالية:
-
string1 = string2وstring1 == string2- إرجاع عامل المساواة صحيحاً إذا كانت المعاملات متساوية.- استخدام
=المشغل معtest; then echo "Strings are equal." else echo "Strings are not equal." fi; then echo "Strings are equal." else echo "Strings are not equal." fiعندما يتم تنفيذ البرنامج النصي فإنه سيتم طباعة الإخراج التالي.
Strings are equal.فيما يلي نص آخر يأخذ المدخلات من المستخدم ويقارن السلاسل المعطاة. في هذا المثال ، سوف نستخدم
]; then echo "Strings are equal." else echo "Strings are not equal." fi]; then echo "Strings are equal." else echo "Strings are not equal." fiقم بتشغيل البرنامج النصي وأدخل السلاسل عند المطالبة:
Enter first string: Linuxize Enter second string: Ubuntu Strings are not equal.يمكنك أيضًا استخدام المنطقية و
&&و أو||لمقارنة السلاسل:] && echo "Equal" || echo "Not equal"تحقق مما إذا كانت السلسلة تحتوي على سلسلة فرعية
هناك عدة طرق للتحقق مما إذا كانت السلسلة تحتوي على سلسلة فرعية.
تتمثل إحدى الطرق في استخدام تحيط السلسلة الفرعية برموز النجمة
*مما يعني مطابقة جميع الأحرف.#!/bin/bash VAR='GNU/Linux is an operating system' if]; then echo "It's there." fiسوف يردد النص ما يلي:
It's there.خيار آخر هو استخدام عامل التشغيل regex
=~كما هو موضح أدناه:#!/bin/bash VAR='GNU/Linux is an operating system' if]; then echo "It's there." fiالفترة التي تليها علامة النجمة
.*تطابق الصفر أو أكثر وتحدث أي حرف باستثناء حرف السطر الجديد.تحقق مما إذا كانت السلسلة فارغة
غالبًا ما ستحتاج أيضًا إلى التحقق مما إذا كان المتغير عبارة عن سلسلة فارغة أم لا. يمكنك القيام بذلك باستخدام مشغلي
-nو-z.#!/bin/bash VAR='' if]; then echo "String is empty." fiString is empty.#!/bin/bash VAR='Linuxize' if]; then echo "String is not empty." fiمقارنة السلاسل مع مشغل الحالة
بدلاً من استخدام عوامل تشغيل الاختبار ، يمكنك أيضًا استخدام بيان الحالة لمقارنة السلاسل:
#!/bin/bash VAR="Arch Linux" case $VAR in "Arch Linux") echo -n "Linuxize matched";; Fedora | CentOS) echo -n "Red Hat";; esacمقارنة معجمية
مقارنة المعجم هي عملية تتم فيها مقارنة سلسلتين أبجديًا عن طريق مقارنة الأحرف في سلسلة بالتتابع من اليسار إلى اليمين. نادرا ما يستخدم هذا النوع من المقارنة.
تقارن البرامج النصية التالية سلسلتين معجميا:
#!/bin/bash VAR1="Linuxize" VAR2="Ubuntu" if]; then echo "${VAR1} is lexicographically greater then ${VAR2}." elif]; then echo "${VAR2} is lexicographically greater than ${VAR1}." else echo "Strings are equal" fiسينتج البرنامج النصي ما يلي:
Ubuntu is lexicographically greater than Linuxize.استنتاج
تعد سلسلة المقارنة واحدة من أكثر العمليات الأساسية استخدامًا في البرمجة النصية لـ Bash. بعد قراءة هذا البرنامج التعليمي ، يجب أن يكون لديك فهم جيد لكيفية مقارنة السلاسل في Bash. يمكنك أيضًا التحقق من دليلنا حول تسلسل السلسلة.
محطة باش
- استخدام
باش يسلسل السلاسل
سلسلة السلسلة هي مجرد كلمة برمجة رائعة لربط السلاسل ببعضها البعض عن طريق إلحاق سلسلة واحدة بنهاية سلسلة أخرى. سنشرح في هذا البرنامج التعليمي كيفية ربط السلاسل في Bash.
كيفية تحويل السلاسل إلى أعداد صحيحة في الثعبان
في كثير من الأحيان عند كتابة رمز Python ، ستحتاج إلى تحويل نوع بيانات واحد إلى آخر. في Python ، يمكنك تحويل سلسلة إلى عدد صحيح باستخدام دالة البناء () المدمجة.
كيفية قراءة ملف سطر بسطر في باش
عند كتابة البرامج النصية لـ Bash ، ستجد نفسك في بعض الأحيان في مواقف تحتاج فيها إلى قراءة سطر ملف بسطر. على سبيل المثال ، قد يكون لديك ملف نصي يحتوي على بيانات يجب معالجتها بواسطة البرنامج النصي.







