بيان باش 'if else': البرنامج التعليمي والأمثلة

استخدام عبارة if… else في Bash لتنفيذ التعليمات البرمجية المشروط.

Bash (Bourne Again Shell) هو موجه أوامر shell ولغة برمجة نصية في أنظمة تشغيل GNU / Linux. إنه الغلاف الافتراضي لمعظم توزيعات Linux.

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

مقدمة

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

لاحظ أنه يمكن تحديد أكثر من شرطين ، من أجلهما أليف يمكن استخدام البيان. يمكن للمستخدم إعطاء أي عدد من الشروط باستخدام أليف، وأخيرًا الشرط الافتراضي باستخدام آخر منع. دعونا نرى المزيد عن هذا في بناء الجملة والأمثلة أدناه.

النحو العام

الصيغة العامة لـ إذا كان غير ذلك العبارة في باش هي:

اذا ثم  آخر  فاي

هنا ، إذا كان يرضي ، على سبيل المثال ، إذا قام بإرجاع 0 (نجاح) ، فسيتم تنفيذ كتلة التعليمات البرمجية 1. إذا لم يُرجع الشرط 0 ، أي أنه يُرجع حالة فشل ، فسيتم تنفيذ كتلة التعليمات البرمجية 2. ال إذا كان غير ذلك كتلة تنتهي ب فاي بيان.

بالنسبة للكتل المتعددة المقابلة لشروط متعددة ،أليف يستخدم:

اذا ثم  ثم elif  ثم elif  ... ... آخر  فاي

هنا ، يتم فحص الشروط بالترتيب ويتم تنفيذ كتلة التعليمات البرمجية للشرط الأول الذي يُرجع الحالة 0 (نجاح). على سبيل المثال. إذا إرجاع حالة غير صفرية (فشل) ، ثم مفحوص. إذا إرجاع الحالة 0 ، يتم تنفيذ. بعد ذلك ، لا يتم التحقق من الشروط الإضافية ويستمر تنفيذ الكود في الكود بعد فاي بيان.

إذا لم تُرجع أي من الشروط الحالة 0 ، في آخر كتلة. لاحظ أن كتلة else اختيارية. إذا لم يتم استيفاء أي شرط ، وكذلك لا آخر تم تحديد block ، ولن يتم تشغيل أي كتلة تعليمات برمجية شرطية ، وسيستمر تنفيذ التعليمات البرمجية إلى الكود بعد فاي البيان ، كما هو موضح في الرسم البياني أدناه.

نلاحظ أن ومن بعد البيان لاستخدامه فقط بعد إذا و أليف البيانات وليست مطلوبة بعد آخر بيان.

أمثلة

لتنفيذ كتلة التعليمات البرمجية إذا كان للمتغير قيمة معينة:

x = 0 إذا كانت [$ x -eq 0] ثم صدى "قيمة X تساوي 0" else echo "قيمة X ليست 0" fi

للتحقق من وجود قيم متعددة:

x = 2 إذا كان [$ x -eq 0] ثم صدى "قيمة X تساوي 0" elif [$ x -eq 1] ثم صدى "قيمة X هي 1" elif [$ x -eq 2] ثم صدى "قيمة X هي 2 "صدى آخر" ، قيمة X ليست 0 "fi

يمكن أن تكون الشروط أي أوامر Linux. سيتم تنفيذ كتلة التعليمات البرمجية المقابلة إذا تم تشغيل الأمر بنجاح.

if npm -v ثم صدى "NPM موجود في النظام" وإلا sudo apt install npm fi

في المثال أعلاه ، منذ ذلك الحين npm لم يتم تثبيت الأمر في النظام npm -v أرجع حالة غير صفرية. ومن ثم ، ذهب تنفيذ الكود إلى ملف آخر block ، حيث نقوم بتثبيت npm باستخدام ملائم مدير مجموعة. كما نرى ، فقد طلب مني إدخال كلمة المرور والبدء في تثبيت npm.

يمكننا أيضًا أن نضع مكانًا آخر إذا كان غير ذلك كتلة داخل إذا, آخر أو أليف منع:

x = 0 y = 1 إذا كان [$ x -eq 0] ثم صدى "X يساوي 0" إذا [$ y -eq 1] ثم صدى "Y is 1" وإلا صدى "Y ليس 1" fi else echo "X هو ليس 0 "فاي

يكون هذا مفيدًا عندما يتم التحقق من مجموعة منفصلة من الشروط بمجرد استيفاء شرط أولي.

على سبيل المثال ، يحاول الكود التالي تثبيت برنامج خادم ويب:

إذا كان nginx -v ثم صدى "NGINX مثبت بالفعل." وإلا إذا sudo apt install nginx ثم صدى "نجح تثبيت NGINX." elif sudo apt install apache2 ثم صدى "تم تثبيت APACHE2 بنجاح." آخر صدى "تعذر تثبيت أي برنامج ويب." فاي

يتحقق الرمز أولاً مما إذا كان Nginx مثبتًا بالفعل في النظام. إذا كان الأمر كذلك ، فإنه يعرض فقط رسالة ويخرج. إذا لم يكن كذلك ، فإنه يحاول تثبيت Nginx.

إذا تعذر تثبيت Nginx في النظام من الحزمة لسبب ما ، فإنه يحاول تثبيت Apache2. إذا أعطى Apache2 خطأ أثناء التثبيت ، فإنه يخرج من عرض رسالة مفادها أنه لا يمكن تثبيت أي برنامج.

بطريقة مماثلة ، يمكن استخدام كتلة متداخلة داخل ملف أليف منع كذلك.

التنفيذ إذا كان غير ذلك: البرامج النصية وسطر الأوامر

على غرار أي كود Bash ، فإن ملف إذا كان غير ذلك يمكن استخدام العبارة في Bash shell مباشرة أو من ملف نصي شيل قابل للتنفيذ. بمجرد أن يجد مترجم Bash ملف إذا, آخر أو أليف البيان ، فإنه يستمر في shell للسماح للمستخدم بإدخال كتلة التعليمات البرمجية.

يمكن للمستخدم أيضًا حفظ هذا الرمز في ملف نصي وتنفيذ ملف البرنامج النصي.

ال #! / بن / باش في البداية يحدد المترجم الذي سيتم استخدامه عند تنفيذ الملف. على الرغم من أن Bash هي الصدفة الأكثر استخدامًا في الوقت الحاضر ، إلا أن بعض المستخدمين يفضلون الصدفات مثل zsh ، والتي يجب تحديدها بدلاً من bash في بداية هذا الملف.

لمنح أذونات التنفيذ لهذا الملف ، قم بتشغيل:

chmod + x test.sh

أخيرًا ، لتنفيذ الملف ، قم بتشغيل:

./test.sh

استنتاج

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