خصم 50% جميع الخطط، لفترة محدودة. ابتداء من $2.48/mo
10 دقائق متبقية
الخوادم ونظام التشغيل

بيان Bash If: بناء الجملة، والاختلافات، وحالات الاستخدام، والأوامر، والمزيد!

بيوس بودينمان By بيوس بودينمان 10 دقائق قراءة تم التحديث في 28 يناير 2024
البرمجة النصية باش

في البرمجة النصية لـ 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 العاري وكيفية عمله، دعنا نتعمق أكثر في الاختلافات والأوامر ذات الصلة ونتعلم المزيد حول عبارات 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

احصل على خادم 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 هذه؟

باختصار، [[ يستخدم للاختبار الشرطي المتقدم. [يستخدم للاختبار الشرطي الأساسي. ( يستخدم لتجميع القشرة الفرعية وتنفيذ الأوامر. (( يستخدم للعمليات الحسابية.

 

يشارك

المزيد من المدونة

استمر في القراءة.

أفضل التطبيقات ذاتية الاستضافة التي يمكنك تشغيلها باستخدام صورة غلاف Cosmos Cloud مع لوحات التطبيقات حول لوحة معلومات Cosmos.
الخوادم ونظام التشغيل

أفضل التطبيقات ذاتية الاستضافة التي يمكنك تشغيلها باستخدام Cosmos Cloud: الملفات والوسائط وكلمات المرور والأتمتة والمزيد!

ربما قمت بإعداد Cosmos Cloud وتريد الآن معرفة التطبيقات التي تتوافق بشكل جيد معها، أو ربما لم تقرر استخدام Cosmos بعد وتريد فقط معرفة مدى ملاءمتها لأسلوب عملك

نيك سيلفرنيك سيلفر 16 دقيقة قراءة
غطاء Portainer vs Cosmos Cloud لإدارة تطبيقات Docker مع مخطط إعداد مختلط وعمليات نيون مقابل كتل الوصول.
الخوادم ونظام التشغيل

Portainer vs Cosmos Cloud: الأفضل لإدارة تطبيقات Docker

إذا كنت تعرف Docker بالفعل وتريد فقط الطريقة الأنظف لتشغيل حزمة تطبيقات متنامية، فإليك الإجابة المختصرة على Portainer vs Cosmos Cloud. Portainer هو الاختيار الأقوى لـ direc

نيك سيلفرنيك سيلفر 14 دقيقة قراءة
يتميز رسم Cosmos Cloud vs CasaOS vs Umbrel بثلاثة مسارات مستضافة ذاتيًا داخل عالم شبكة سحابية مجردة.
الخوادم ونظام التشغيل

Cosmos Cloud vs CasaOS vs Umbrel: ما هي المنصة ذاتية الاستضافة التي تناسب إعدادك؟

الإجابة المختصرة هي أن نظام CasaOS لا يزال هو أسهل مكان للبدء، بينما يتمتع Umbrel بأنظف إحساس منظم، ويصبح Cosmos Cloud أكثر منطقية عندما تريد تحكمًا أكثر إحكامًا في doma

نيك سيلفرنيك سيلفر 11 دقيقة قراءة

هل أنت مستعد للنشر؟ من 2.48 دولارًا شهريًا.

سحابة مستقلة، منذ عام 2008. AMD EPYC، NVMe، 40 جيجابت في الثانية. استرداد الأموال خلال 14 يومًا.