ديريها تحت راسك مع وقت السحور باش حبيبك عليك ما يصبر ويجي حتى لعندك ومايقدر على فراقك
جدول المحتويات:
ifبيانif..elsestatementif..elif..elsestatement- متداخلة
ifالبيانات - شروط متعددة
- اختبار مشغلي
- استنتاج
صنع القرار هو واحد من أكثر المفاهيم الأساسية لبرمجة الكمبيوتر. كما هو الحال في أي لغة برمجة أخرى ،
if
،
if..else
،
if..elif..else
ومتداخلة
if
يمكن استخدام العبارات في Bash لتنفيذ التعليمات البرمجية بناءً على شرط معين.
في هذا البرنامج التعليمي ، سوف نتعرف على أساسيات Bash
if
العبارات ونوضح لك كيفية استخدامها في البرامج النصية الخاصة بك.
if
بيان
باش
if
الشرطية يمكن أن يكون لها أشكال مختلفة. أبسط
if
البيان يأخذ الشكل التالي:
if TEST-COMMAND then STATEMENTS fi
تبدأ عبارة
if
بالكلمة المفتاحية
if
متبوعة بالتعبير الشرطي والكلمة الرئيسية التي تليها. ينتهي البيان بكلمة
fi
.
إذا تم تقييم
TEST-COMMAND
إلى
True
،
STATEMENTS
تنفيذ
STATEMENTS
. إذا كانت
TEST-COMMAND
تُرجع
False
، فلن يحدث شيء ، يتم تجاهل
STATEMENTS
.
بشكل عام ، من الجيد دائمًا وضع مسافة بادئة لرمز التعليمات البرمجية وفصل الكتل البرمجية مع خطوط فارغة. معظم الناس يختارون استخدام المسافة البادئة ذات المسافات الأربعة أو المسافات البادئة. المسافات البادئة وخطوط فارغة تجعل رمزك أكثر قابلية للقراءة وتنظيمه.
دعونا نلقي نظرة على المثال النصي التالي الذي يتحقق ما إذا كان عدد معين أكبر من 10.
#!/bin/bash echo -n "Enter a number: " read VAR if] then echo "The variable is greater than 10." fi
احفظ الكود في ملف وقم بتشغيله من سطر الأوامر:
bash test.sh
سيطالبك البرنامج النصي بإدخال رقم. على سبيل المثال ، إذا قمت بإدخال 15 ، فسيتم تقييم الأمر
test
إلى
true
لأن الرقم 15 أكبر من 10 ، وسيتم تنفيذ الأمر
echo
داخل جملة
then
.
The variable is greater than 10.
if..else
statement
تأخذ العبارة Bash
if..else
النموذج التالي:
if TEST-COMMAND then STATEMENTS1 else STATEMENTS2 fi
إذا تم تقييم
TEST-COMMAND
إلى
True
، فسيتم تنفيذ البيانات 1. خلاف ذلك ، إذا
TEST-COMMAND
False
، فسيتم تنفيذ البيانات 2. يمكن أن يكون لديك جملة واحدة فقط في البيان.
دعنا نضيف جملة أخرى إلى البرنامج النصي المثال السابق:
#!/bin/bash echo -n "Enter a number: " read VAR if] then echo "The variable is greater than 10." else echo "The variable is equal or less than 10." fi
if..elif..else
statement
Bash
if..elif..else
يأخذ البيان التالي:
if TEST-COMMAND1 then STATEMENTS1 elif TEST-COMMAND2 then STATEMENTS2 else STATEMENTS3 fi
إذا تم تقييم
TEST-COMMAND1
إلى
True
، فسيتم تنفيذ البيانات 1. إذا تم تقييم
TEST-COMMAND2
إلى
True
، فسيتم تنفيذ البيانات 2. إذا تم تقييم أي من أوامر الاختبار إلى
True
،
STATEMENTS2
تنفيذ
STATEMENTS2
.
يمكن أن يكون لديك جملة أو أكثر من
elif
في البيان. بند
else
هو اختياري.
يتم تقييم الشروط بالتتابع. بمجرد عودة الشرط ، لا يتم تنفيذ الشروط المتبقية وينتقل التحكم في البرنامج إلى نهاية عبارات
if
.
دعنا نضيف جملة
elif
إلى البرنامج النصي السابق:
#!/bin/bash echo -n "Enter a number: " read VAR if] then echo "The variable is greater than 10." elif] then echo "The variable is equal to 10." else echo "The variable is less than 10." fi
متداخلة
if
البيانات
يسمح لك Bash بتداخل البيانات
if
العبارات. يمكنك وضع متعددة
if
العبارة داخل آخر
if
البيان.
سيطالبك البرنامج النصي التالي بإدخال ثلاثة أرقام وسيطبع أكبر عدد من الأرقام الثلاثة.
#!/bin/bash echo -n "Enter the first number: " read VAR1 echo -n "Enter the second number: " read VAR2 echo -n "Enter the third number: " read VAR3 if] then if] then echo "$VAR1 is the largest number." else echo "$VAR3 is the largest number." fi else if] then echo "$VAR2 is the largest number." else echo "$VAR3 is the largest number." fi fi
إليك كيف سيبدو الإخراج:
Enter the first number: 4 Enter the second number: 7 Enter the third number: 2 7 is the largest number.
بدلاً من استخدام العبارات المتداخلة ، عادة ما يكون استخدام بيان الحالة أكثر فعالية.
شروط متعددة
تسمح لك عوامل التشغيل
OR
و
AND
المنطقية باستخدام شروط متعددة في عبارات
if
.
فيما يلي إصدار آخر من البرنامج النصي لطباعة أكبر عدد من الأرقام الثلاثة. في هذا الإصدار ، بدلاً من البيانات المتداخلة
if
، سنستخدم عامل التشغيل
AND
(
&&
) المنطقي.
#!/bin/bash echo -n "Enter the first number: " read VAR1 echo -n "Enter the second number: " read VAR2 echo -n "Enter the third number: " read VAR3 if] &&] then echo "$VAR1 is the largest number." elif] &&] then echo "$VAR2 is the largest number." else echo "$VAR3 is the largest number." fi
اختبار مشغلي
في Bash ، يأخذ أمر
test
أحد أشكال بناء الجملة التالية:
test EXPRESSION]
لإلغاء تعبير الاختبار ، استخدم عامل التشغيل
NOT
(
!
) المنطقي. عند مقارنة السلاسل ، استخدم دائمًا علامات اقتباس مفردة أو مزدوجة لتجنب أية مشكلات في تقسيم الكلمات أو إهمالها.
فيما يلي بعض العوامل الأكثر استخدامًا:
-
-nVAR- صواب إذا كان طول VAR أكبر من الصفر.-zVAR- صواب إذا كانت VAR فارغة.STRING1 = STRING2- صواب [STRING1 و STRING2 متساويان.STRING1 != STRING2- صحيح STRING1 و STRING2 غير متساوين.INTEGER1 -eq INTEGER2- صحيح INTEGER1 و INTEGER2 متساويان.INTEGER1 -gt INTEGER2- صحيح INTEGER1 أكبر من INTEGER2.INTEGER1 -lt INTEGER2- صحيح INTEGER1 أقل من INTEGER2.INTEGER1 -ge INTEGER2- صحيح INTEGER1 يساوي أو أكبر من INTEGER2.INTEGER1 -le INTEGER2- صحيح INTEGER1 يساوي أو أقل من INTEGER2.-hFILE- صحيح إذا كان الملف موجودًا وهو رابط رمزي.-rFILE- صواب إذا كان الملف موجودًا وقابل للقراءة.-wFILE- صحيح إذا كان الملف موجودًا وقابل للكتابة.-xFILE- صواب إذا كان الملف موجودًا وقابل للتنفيذ.-dFILE- صواب في حالة وجود الملف وهو دليل.-eFILE- صواب إذا كان الملف موجودًا وكان ملفًا ، بغض النظر عن النوع (العقدة ، الدليل ، المقبس ، إلخ).-fFILE- صواب إذا كان الملف موجودًا وكان ملفًا عاديًا (وليس دليلًا أو جهازًا).
استنتاج
تسمح لك عبارات
if
،
if..else
و
if..elif..else
بالتحكم في تدفق تنفيذ نص Bash من خلال تقييم الشروط المحددة.
أيهما أفضل لأعمالك؟ إذا كنت تفكر في ترقية إعداد تكنولوجيا المعلومات لديك ، سأوصي بشدة باستخدام جهاز Mac ، حتى إذا كنت بحاجة إلى تشغيل جهاز كمبيوتر.
للبدء ، أريد أن أخبرك أنه حتى 2006 كنت مستخدم كمبيوتر متعطشا. بدءا من جهاز الكمبيوتر الخاص بي الأول عندما كان عمري خمسة ، IBM نموذج PS2 30 (دون القرص الصلب) ، لقد كنت مخلصا. لقد بدأت مع دوس ، ثم ويندوز 3 ، 3.1 ، 95 ، ثم إكس بي. ثم جاء فيستا. قبل فيستا ، قضيت الكثير من الوقت في إعادة التشغيل ولكن كان أكثر أو أقل احتمالاً. بعد فيستا ، الذي يعتبر أسوأ نظام تشغيل على الإطلاق ، كان علي أن أجد حلاً آخر. b> في عام 2006 ، قمت بترقية حوالي 80٪ من أجهزة الكمبيوتر الخاصة بشركتي إلى أجهزة ماكنتوش. نحن وك
صفائف باش
المصفوفات هي واحدة من هياكل البيانات الأكثر استخدامًا والأساسية. في هذه المقالة ، سنقوم بتغطية صفائف Bash ، وشرح كيفية استخدامها في البرامج النصية Bash.
باش للحلقة
هناك 3 تصميمات حلقة أساسية في البرمجة النصية Bash ، للحلقة ، أثناء الحلقة ، وحتى الحلقة. في هذا البرنامج التعليمي ، سنغطي أساسيات الحلقات في Bash بالإضافة إلى استراحة واستمرار البيانات لتغيير تدفق الحلقة.







