في البرمجة النصية لـ Shell، تلعب عبارات Bash if دورًا حاسمًا من خلال السماح للمبرمجين بإنشاء مسارات تنفيذ مشروطة بناءً على مواقف مختلفة. بشكل أساسي، إذا كانت البيانات تمكننا من اتخاذ القرارات ضمن نصوص Bash، مع الأخذ في الاعتبار عوامل مثل نتائج الاختبار، أو إدخال المستخدم، أو حالات النظام. إنها بمثابة وسيلة للتنقل عبر الاحتمالات المختلفة.
عند استخدام البرمجة النصية لـ Bash، تتبع عبارة if بنية محددة. يبدأ عادةً بـ "ifالكلمة المفتاحية "، متبوعة بالحالة التي تحتاج إلى تقييم، الكلمة الرئيسية "ثم"الكلمة الأساسية، وأمر واحد أو أكثر للتنفيذ إذا كان الشرط صحيحًا.
ولجعل الأمور أكثر مرونة، يمكن أن تتضمن عبارة if أيضًا عبارة "" اختيارية"إليف"(else if)، والتي يتم تشغيلها عندما يكون الشرط الأولي خاطئًا. فهي تسمح لنا باختبار شرط إضافي والمضي قدمًا وفقًا لذلك. بالإضافة إلى ذلك، يمكن أن تحتوي عبارة if على عبارة "else" اختيارية، والتي يتم تنفيذها إذا لم يكن أي من الشروط صحيحًا.
من خلال الجمع بين عبارات if وأوامر Bash الأخرى وميزات البرمجة النصية لـ Shell، يمكن للمبرمجين إنشاء نصوص برمجية متقدمة قادرة على أتمتة المهام والعمليات المعقدة. تابع لاكتشاف المزيد حول عبارة Bash if، بما في ذلك تركيبها وحالات الاستخدام والأمثلة!
باش إذا بناء الجملة
يشير بناء جملة Bash إلى القواعد التي تحكم بنية وقواعد الأوامر والبرامج النصية المكتوبة بلغة Bash Shell. يتضمن بناء جملة Bash مجموعة متنوعة من البنيات والعناصر، مثل:
- الأوامر: هذه هي البرامج الفردية القابلة للتنفيذ أو برامج الصدفة المضمنة المستخدمة لأداء مهام محددة. ستقضي معظم وقتك في التعامل مع برمجة Bash بهذه السطور الجميلة.
- الحجج: هذه هي القيم التي يتم تمريرها إلى الأوامر لتحديد الخيارات أو المعلمات أو بيانات الإدخال. فكر فيها كشروط يتم تعيينها للأمر لتحديد معلمات التنفيذ الخاصة به.
- المتغيرات: هي الرموز التي تمثل القيم التي يمكن تعيينها أو معالجتها أو استخدامها في التعبيرات. يتم استخدامها بشكل شائع لتحديد القيم التي يجب أن تتعامل معها الأوامر والوسائط.
- إعادة التوجيه: هذه هي عملية إعادة توجيه الإدخال أو الإخراج أو الأخطاء من وإلى الملفات أو الأجهزة أو الأوامر الأخرى. وبدون ذلك، هناك احتمال كبير أن تستهدف أوامرك الوجهة الخاطئة وتفسد التعليمات البرمجية الخاصة بك.
- أنابيب: هذه آلية لربط مخرجات أمر واحد بإدخال أمر آخر. تُستخدم هذه بشكل عام لتنفيذ أسطر أوامر شرطية متقدمة في البرامج الكبيرة ولإنشاء أسطر أوامر متداخلة.
- هياكل التحكم: هذه بنيات تتحكم في تدفق تنفيذ الأوامر، مثل الحلقات والشروط والوظائف. يعد فهم بنية التحكم أمرًا أساسيًا في إنشاء أسطر أوامر جديدة ويمنح مستوى آخر من العمق للتعليمات البرمجية الخاصة بك.
- تعليقات: هذه هي التعليقات التوضيحية التي تتجاهلها الصدفة وتستخدم لتوثيق التعليمات البرمجية أو تقديم التوضيحات. تعتبر هذه نقاط مرجعية مهمة عند إجراء التحليل وتصحيح الأخطاء، خاصة في المشاريع الجماعية.
يجب كتابة بناء جملة Bash بشكل صحيح حتى تتمكن الصدفة من تفسير الأوامر وتنفيذها. يمكن أن تؤدي أخطاء بناء الجملة إلى قيام الصدفة بإنتاج رسائل خطأ أو سلوك غير متوقع.
هنا بيان Bash if قيد التنفيذ:
if condition then command1 command2 ... commandN elif condition2 then commandA commandB ... commandC else commandX commandY ... commandZ fi
في الحالة التي لدينا هنا، يشير "الشرط" إلى اختبار ينتج نتيجة إما صحيحة أو خاطئة. عندما يكون الشرط صحيحا، يتم تنفيذ الأوامر اللاحقة المحددة بعد الكلمة الأساسية "ثم". لنفترض الآن أننا نريد إيجاد قيمة شرط إضافي بدلًا من ذلك. يمكننا استخدام الكلمة الأساسية "elif" للقيام بذلك. إنه يوفر طريقة للنظر في احتمال آخر. الآن، إذا لم يكن أي من الشروط صحيحًا، فسيتم تشغيل الأوامر المحددة بعد الكلمة الأساسية "آخر". إنها مثل خطة احتياطية. أخيرًا، للإشارة إلى نتيجة عبارة if، نستخدم الكلمة الأساسية "if".
كيف تعمل بيانات باش؟
عندما يتعلق الأمر بالبرمجة النصية لـ Bash، تصبح عبارة if مفيدة جدًا في توجيه تدفق البرنامج النصي بناءً على نتيجة الاختبار الشرطي. ويتمحور الغرض منها حول تقييم الحالة، وتنفيذ مجموعة محددة من الأوامر، إذا ثبت صحتها.
الآن، دعونا نلقي نظرة خاطفة على كيفية ظهور الأمور عادةً عندما يتم تشغيل عبارة if داخل برنامج Bash النصي. يستغرق البرنامج النصي بعض الوقت لتقييم الحالة المذكورة في عبارة if. إذا ثبت أن الشرط صحيح، فإن الأوامر المدرجة في الكتلة "ثم" تجد دورها للتنفيذ.
ومع ذلك، إذا كان الشرط خاطئًا، فسيستمر البرنامج النصي في تقييم أي شروط إضافية لـ elif. إذا كان أي من هذه الشروط صحيحًا، فسيتم تنفيذ أوامر كتلة elif المقابلة. في الحالات التي لا يبدو فيها أي من الشروط المحددة في عبارات if وelif صحيحًا، يقر البرنامج النصي بذلك ويتابع تنفيذ الأوامر المحددة داخل كتلة else (إذا تم تضمين كتلة else).
في الأساس، تعمل عبارة if كوسيلة لتسهيل اتخاذ القرار داخل البرنامج النصي، مما يسمح لها باجتياز مسارات تنفيذ مختلفة اعتمادًا على نتيجة الاختبار. يمكن للاختبار نفسه أن يأخذ في الاعتبار عوامل مختلفة، مثل نتيجة أمر ما أو القيمة المخصصة لمتغير.
باش لو بيان موضح
الآن دعونا نخرج من النظرية الأساسية ونرى كيف يمكن استخدام عبارة Bash if في التطوير النشط للبرمجة. فيما يلي مثال يوضح كيفية عمل عبارة Bash if:
#!/bin/bash # set a variable x=5 # evaluate the variable if [ $x -gt 4 ] then echo "x is greater than 4." else echo "x is less than or equal to 4." fi
في هذا المثال، تقوم عبارة if بتقييم قيمة المتغير x. إذا كانت x أكبر من 4، فسيقوم البرنامج النصي بتنفيذ الأمر لطباعة "x أكبر من 4". إذا كانت x أقل من أو تساوي 4، فسيقوم البرنامج النصي بتنفيذ الأمر لطباعة "x أقل من أو يساوي 4".
التعرف على عبارات Bash If المختلفة وصياغة الأوامر ذات الصلة
الآن بعد أن أصبح لديك فهم قوي لبيان Bash If العاري وكيفية عمله، دعنا نتعمق أكثر في الاختلافات والأوامر ذات الصلة ونتعلم المزيد حول عبارات If الأساسية، وعبارات If المتداخلة، وBash If Else، وIf Elif Else، وبيانات الحالة واحدة تلو الأخرى.
عبارات If الأساسية
لنبدأ ببيان bash if الأساسي. تتحقق عبارة if في Bash من صحة الشرط وتنفذ مجموعة من الرموز ذات الصلة وفقًا لذلك. وهنا بناء الجملة:
if [ condition ] then commands fi
في الحالة التي لدينا هنا، يقوم البرنامج النصي بتقييم الحالة، وإذا كان صحيحًا، فسيتم تنفيذ الأوامر المحددة. إذا كان الشرط خاطئًا، ينتقل البرنامج النصي إلى الأمر التالي دون تنفيذ الكتلة داخل قسم "ثم".
عبارات If المتداخلة
عبارة if المتداخلة، كما يوحي الاسم الإبداعي، هي عبارة if "متداخلة" داخل عبارة if أخرى. تسمح هذه البنية المتداخلة بإجراء اختبارات وتحليلات أكثر تعقيدًا داخل البرنامج النصي. فيما يلي مثال على عبارة if المتداخلة:
if [ condition1 ]
then
if [ condition2 ]
then
commands
fi
fi
يمكنك أن ترى في الأوامر أن البرنامج النصي يقوم بتقييم الشرط 1 كخطوة أولى. إذا تم التحقق من صحة الشرط 1، فإنه يقوم بتقييم الشرط 2. إذا كان الشرط 2 صحيحًا أيضًا، فسيقوم البرنامج النصي بتنفيذ الأوامر المطلوبة.
باش إذا تصريحات أخرى
تسمح لك عبارة Bash if else باتخاذ قرارات داخل البرنامج النصي الخاص بك بناءً على ما إذا كان الشرط صحيحًا أم خطأ، مما يسمح بتنفيذ تعليمات برمجية أكثر تقدمًا. وإليك كيف يبدو الهيكل:
if [ condition ] then commands1 else commands2 fi
يضمن هذا البناء أنه إذا استمر الشرط، فسيقوم البرنامج النصي الخاص بك بتنفيذ "commands1" بسرعة. ومع ذلك، إذا كان الشرط خاطئًا، فسيتم التبديل إلى تنفيذ "commands2".
إذا تصريحات إليف آخر
في بعض الأحيان، تحتاج إلى النظر في شروط متعددة ونتائج كل منها. يتيح لك بيان if elif else تحقيق ذلك بالضبط. لاحظ بناء الجملة التالي:
if [ condition1 ] then commands1 elif [ condition2 ] then commands2 else commands3 fi
هنا، يقوم البرنامج النصي الخاص بك بتقييم الشرط 1 أولاً. إذا تم التحقق من صحة ذلك؛ سيتم تنفيذ الأوامر بسرعة1. ومع ذلك، إذا كان الشرط 1 خطأ، فسينتقل البرنامج النصي لتقييم الشرط 2. إذا كان الشرط 2 صحيحًا، فإنه يتابع تنفيذ الأوامر 2. وإذا تبين أن كل من الشرط 1 والشرط 2 خاطئان، فسينتقل البرنامج النصي الخاص بك إلى البديل، وهو تنفيذ الأوامر 3.
بيانات الحالة
في Bash، لديك بيان الحالة، الذي يعمل بشكل مشابه لبيان التبديل الموجود في لغات البرمجة الأخرى. يوفر طريقة لتنفيذ مجموعات مختلفة من الأوامر بناءً على قيمة المتغير. ألق نظرة على الهيكل:
case expression in pattern1) commands1;; pattern2) commands2;; pattern3) commands3;; *) default commands;; esac
هنا، يقوم البرنامج النصي بتقييم متغير التعبير ومطابقته مع الأنماط المختلفة. عند العثور على تطابق، يتم تنفيذ مجموعة الأوامر المقابلة. ومع ذلك، إذا لم يتم العثور على أي تطابق، فسيتم تنفيذ الأوامر الافتراضية بأمان. يعمل نمط العلامة النجمية (*) كحرف بدل، حيث يطابق أي شيء لم تتم تغطيته.
مشغلي باش المنطقيين
جزء رئيسي آخر من مكائد Bash if البيان هو العامل المنطقي. تمكنك عوامل التشغيل هذه من دمج شروط متعددة، مما يتيح لك اتخاذ قرارات بناءً على حقيقة أو خطأ هذه الشروط المجمعة. يتضمن Bash ثلاثة عوامل منطقية أساسية لاستخدامها في عبارات if. فيما يلي أمثلة على الأنواع الثلاثة الرئيسية لأوامر المشغل المنطقية.
- باش و (&&):
if [ $age -ge 18 ] && [ "$citizen" == "yes" ]; then echo "You meet the criteria for voting." fi
- منطقي أو (الثاني):
if [ "$status" == "active" ] || [ "$role" == "admin" ]; then echo "Access granted." fi
- لا يساوي:
if(( ! $a == "true" )) then echo "a" was initially false. else echo "a" was initially true. fi
خاتمة
في هذه التدوينة، قدمنا دليلًا تمهيديًا حول عبارات Bash if وكيفية استخدامها. ناقشنا أيضًا كيف يمكنهم جعل التعليمات البرمجية الخاصة بك أكثر دقة وأكثر فاعلية. باستخدام هذه العبارات الشرطية بشكل فعال، يمكنك إنشاء برامج نصية قوية قادرة على التعامل مع المهام المعقدة واتخاذ القرارات.
هل أنت جديد في عالم لينكس؟ دعونا نكون نورك الهادي في هذه الرحلة المثيرة! ملكنا لينكس فس هي نقطة البداية المثالية للمبتدئين، حيث توفر البساطة دون التضحية بالقوة. بفضل الواجهات سهلة الاستخدام ودعم الخبراء، ستجد أنه من الأسهل من أي وقت مضى الاستفادة من إمكانات خادم Linux. سواء كنت تقوم بإعداد موقع ويب، أو اختبار التطبيقات، أو استكشاف عالم Linux الواسع، فإن Linux VPS الخاص بنا يوفر بيئة آمنة وخالية من المتاعب. اتخذ خطواتك الأولى في عالم Linux بثقة - تحقق من خيارات Linux VPS اليوم وابدأ مغامرة Linux الخاصة بك!
احصل على خادم Linux VPS اقتصادي أو متميز لاستضافة موقع الويب الخاص بك أو سطح المكتب البعيد، بأرخص الأسعار المتاحة. يعمل VPS على Linux KVM لزيادة الكفاءة والعمل على أجهزة قوية مع تخزين NVMe SSD لزيادة السرعة.
اقرأ المزيدالتعليمات
هل يمكنني استخدام العوامل المنطقية في عبارات Bash if؟
نعم، يمكنك استخدام العوامل المنطقية مثل "&" و '||' في باش إذا البيانات. على سبيل المثال، إذا [ $var -gt 0 ] && [ $var -lt 10 ]; ثم … سيتم تنفيذ كتلة التعليمات البرمجية إذا $فار أكبر من 0 وأقل من 10.
هل يمكنني استخدام شروط متعددة في عبارة if واحدة؟
نعم، يمكنك استخدام Bash if عدة شروط في عبارة if واحدة باستخدام عوامل تشغيل منطقية مثل -a (و) أو -o (أو) الجمع بينهما. على سبيل المثال، إذا [ $var -gt 0 -a $var -lt 10 ]; ثم … سيتم تنفيذ كتلة التعليمات البرمجية إذا $فار أكبر من 0 وأقل من 10.
هل يمكنني استخدام استبدال الأوامر في عبارات Bash if؟
نعم، يمكنك استخدام استبدال الأوامر في عبارات Bash if عن طريق تضمين الأمر فيها $() أو نقرات خلفية (”). على سبيل المثال، إذا [ $(whoami) == "الجذر" ]; ثم … سيتم تنفيذ كتلة التعليمات البرمجية إذا كان المستخدم الحالي هو الجذر.
[[ vs [ vs ( vs ((: ما الفرق بين عوامل Bash هذه؟
باختصار، [[ يستخدم للاختبار الشرطي المتقدم. [يستخدم للاختبار الشرطي الأساسي. ( يستخدم لتجميع القشرة الفرعية وتنفيذ الأوامر. (( يستخدم للعمليات الحسابية.