وفي هذا الموضوع سوف نفهم كيفية الاستخدام إذا تصريحات في البرامج النصية Bash لإنجاز مهامنا الآلية.
10 بالمئة من 60
باش لو التصريحات مفيدة. يتم استخدامها لأداء المهام الشرطية في التدفق المتسلسل لتنفيذ العبارات. إذا كانت البيانات تسمح لنا عادةً باتخاذ القرارات في نصوص Bash الخاصة بنا. إنها تساعدنا في تحديد ما إذا كان سيتم تشغيل جزء من الرموز أم لا بناءً على الشرط الذي قد نضعه.
عبارات if الأساسية
تأمر عبارة if الأساسية بأنه إذا كان شرط معين صحيحًا، فسيتم تنفيذ مجموعة معينة من الإجراءات فقط. إذا لم يكن ذلك صحيحا، فلا تقم بتنفيذ تلك الإجراءات. إذا كان البيان يعتمد على التنسيق التالي:
بناء الجملة
if [ expression ]; then statements fi
البيان بين ثم و يكون (إذا كان للخلف) سيتم تنفيذه فقط إذا كان التعبير (بين القوسين المربعين) صحيحًا.
ملحوظة:لاحظ المسافات المستخدمة في السطر الأول والفاصلة المنقوطة في نهاية السطر الأول؛ كلاهما إلزامي للاستخدام.إذا كان البيان الشرطيينتهي بيكون.
- لاستخدام شروط متعددة مع عامل التشغيل AND:
if [ expression_1 ] && [ expression_2 ]; then statements fi
- لاستخدام شروط متعددة مع عامل التشغيل OR:
if [ expression_1 ] || [ expression_2 ]; then statements fi
- بالنسبة للتعبيرات المركبة ذات عوامل التشغيل AND & OR، يمكننا استخدام الصيغة التالية:
if [ expression_1 && expression_2 || expression_3 ]; then statements fi
فيما يلي بعض الأمثلة التي توضح استخدام عبارة if:
مثال 1
في هذا المثال، قم بإدخال المستخدم لأي رقم وتحقق مما إذا كانت القيمة أكبر من 125.
#!/bin/bash read -p ' Enter number : ' number if [ $number -gt 125 ] then echo 'Value is greater than 125' fi
انتاج |
إذا أدخلنا الرقم 159، فسيكون الناتج كما يلي:
مثال 2
في هذا المثال، نوضح استخدام إذا بيان مع سيناريو بسيط لمقارنة سلسلتين:
#!/bin/bash # if condition is true if [ 'myfile' == 'myfile' ]; then echo 'true condition' fi # if condition is false if [ 'myfile' == 'yourfile' ]; then echo 'false condition' fi
انتاج |
أشكال عادية
مثال 3
في هذا المثال، نوضح كيفية مقارنة الأرقام باستخدام عبارة if:
#!/bin/bash #if condition (greater than) is true if [ 10 -gt 3 ]; then echo '10 is greater than 3.' fi #if condition (greater than) is false if [ 3 -gt 10 ]; then echo '3 is not greater than 10.' fi #if condition (lesser than) is true if [ 3 -lt 10 ]; then echo '3 is less than 10.' fi #if condition (lesser than) is false if [ 10 -lt 3 ]; then echo '10 is not less than 3.' fi #if condition (equal to) is true if [ 10 -eq 10 ]; then echo '10 is equal to 10.' fi #if condition (equal to) is false if [ 10 -eq 9 ]; then echo '10 is not equal to 9' fi
انتاج |
مثال 4
في هذا المثال، سنحدد كيفية استخدام عامل التشغيل AND لتضمين شروط متعددة في تعبير if:
#!/bin/bash # TRUE && TRUE if [ 8 -gt 6 ] && [ 10 -eq 10 ]; then echo 'Conditions are true' fi # TRUE && FALSE if [ 'mylife' == 'mylife' ] && [ 3 -gt 10 ]; then echo 'Conditions are false' fi
انتاج |
مثال 5
في هذا المثال، سنحدد كيفية استخدام عامل التشغيل OR لتضمين شروط متعددة في تعبير if:
#!/bin/bash # TRUE || FALSE if [ 8 -gt 7 ] || [ 10 -eq 3 ]; then echo ' Condition is true. ' fi # FALSE || FALSE if [ 'mylife' == 'yourlife' ] || [ 3 -gt 10 ]; then echo ' Condition is false. ' fi
انتاج |
مثال 6
في هذا المثال، سنحدد كيفية استخدام AND وOR لتضمين شروط متعددة في تعبير if:
#!/bin/bash # TRUE && FALSE || FALSE || TRUE if [[ 10 -eq 10 && 5 -gt 4 || 3 -eq 4 || 3 -lt 6 ]]; then echo 'Condition is true.' fi # TRUE && FALSE || FALSE if [[ 8 -eq 8 && 8 -gt 10 || 9 -lt 5 ]]; then echo 'Condition is false' fi
انتاج |
سلسلة جافا إلى منطقية
خيارات بيان If في Bash Scripting
إذا كان البيان يحتوي على العديد من الخيارات لأداء مهمة محددة. يمكن استخدام هذه الخيارات لعمليات الملفات، وعمليات السلسلة، وما إلى ذلك. فيما يلي بعض الخيارات الأكثر استخدامًا:
الخيارات (المشغلين) | وصف |
---|---|
! تعبير | للتحقق مما إذا كان EXPRESSION خطأ. |
-ن سلسلة | للتحقق مما إذا كان طول STRING أكبر من الصفر. |
-z سلسلة | للتحقق مما إذا كان طول STRING صفرًا (أي أنه فارغ) |
STRING1 == STRING2 | للتحقق مما إذا كانت STRING1 تساوي STRING2. |
STRING1 != STRING2 | للتحقق مما إذا كانت STRING1 لا تساوي STRING2. |
عدد صحيح1 - مكافئ عدد صحيح2 | للتحقق مما إذا كان INTEGER1 يساوي عدديًا INTEGER2. |
عدد صحيح1 -GT عدد صحيح2 | للتحقق مما إذا كان INTEGER1 أكبر عدديًا من INTEGER2. |
عدد صحيح1-لتر عدد صحيح2 | للتحقق مما إذا كان INTEGER1 أقل عدديًا من INTEGER2. |
-د ملف | للتحقق من وجود FILE وأنه دليل. |
-ملف البريد | للتحقق من وجود FILE. |
-r ملف | للتحقق من وجود FILE ومن منح إذن القراءة. |
-ملف | للتحقق من وجود FILE وحجمه أكبر من الصفر (مما يعني أنه ليس فارغاً). |
-w ملف | للتحقق من وجود FILE ومن منح إذن الكتابة. |
ملف × | للتحقق من وجود FILE ومن منح إذن التنفيذ. |
متداخلة إذا
يمكنك تطبيق أكبر عدد ممكن من 'عبارات if' كما هو مطلوب داخل البرنامج النصي bash الخاص بك. من الممكن أيضًا استخدام عبارة if داخل 'عبارة if' أخرى. يُعرف باسم بيان If المتداخل.
مثال
في هذا المثال، سوف نجد 'إذا كان الرقم المحدد أكبر من 50 وإذا كان رقمًا زوجيًا' باستخدام تعبير if المتداخل.
#!/bin/bash #Nested if statement if [ -gt 50 ] then echo 'Number is greater than 50.' if (( % 2 == 0 )) then echo 'and it is an even number.' fi fi
انتاج |
إذا أدخلنا قيمة الوسيطة كـ 100، فستبدو النتيجة كما يلي:
خاتمة
في هذا الموضوع، ناقشنا كيف يمكننا استخدام التفرع الشرطي في التدفق المتسلسل لتنفيذ العبارات باستخدام بيان bash if.