Bash

ما هي أنواع الحلقات المختلفة في باش؟

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

ما هي أنواع الحلقات المختلفة في Bash؟

أنواع الحلقات في باش

حلقة فور

حلقة for هي حلقة بسيطة تُستخدم بشكل شائع في باش. تسمح لك بالتكرار خلال قائمة من القيم أو نطاق من الأرقام. يكون بناء جملة حلقة for على النحو التالي:

for variable in list
do
    commands
done
  • variable: المتغير المستخدم للتكرار خلال القائمة أو النطاق.
  • list: قائمة القيم أو نطاق الأرقام التي سيتم التكرار خلالها.
  • commands: الأوامر التي سيتم تنفيذها لكل تكرار من الحلقة.

على سبيل المثال، تتكرر حلقة for التالية خلال قائمة الفواكه وتطبع كل فاكهة:

fruits=(apple banana orange)
for fruit in "${fruits[@]}"
do
    echo $fruit
done

حلقة وايل

في

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

while condition
do
    commands
done
  • condition: الشرط الذي يحدد ما إذا كانت الحلقة ستستمر في التنفيذ.
  • commands: الأوامر التي سيتم تنفيذها لكل تكرار من الحلقة.

على سبيل المثال، تستمر حلقة while التالية في طباعة الأرقام من 1 إلى 10:

i=1
while [ $i -le 10 ]
do
    echo $i
    ((i++))
done

حلقة انتيل

مالكي الشركات الناشئة في مجال التكنولوجيا

حلقة until تشبه حلقة while، لكنها تنفذ كتلة من التعليمات البرمجية بشكل متكرر إلى أن يصبح شرط محدد خاطئ. يكون بناء جملة حلقة until على النحو التالي:

until condition
do
    commands
done
  • condition: الشرط الذي يحدد ما إذا كانت الحلقة ستستمر في التنفيذ.
  • commands: الأوامر التي سيتم تنفيذها لكل تكرار من الحلقة.

على سبيل المثال، تستمر حلقة until التالية في طباعة الأرقام من 1 إلى 10 إلى أن يدخل المستخدم قيمة غير رقمية:

read -p "Enter a number: " number
until [[ $number =~ ^[0-9]+$ ]]
do
    echo "Invalid input. Please enter a number."
    read -p "Enter a number: " number
done
echo "You entered $number."

حلقة دو وايل

حلقة do-while هي متغير من حلقة while التي تنفذ كتلة من التعليمات البرمجية مرة واحدة على الأقل قبل التحقق من شرط الحلقة. يكون بناء جملة حلقة do-while على النحو التالي:

do
    commands
done while condition
  • commands: الأوامر التي سيتم تنفيذها لكل تكرار من الحلقة.
  • condition: الشرط الذي يحدد ما إذا كانت الحلقة ستستمر في التنفيذ.

على سبيل المثال، تستمر حلقة do-while التالية في طباعة الأرقام من 1 إلى 10، حتى إذا أدخل المستخدم قيمة غير رقمية:

read -p "Enter a number: " number
do
    echo $number
    ((number++))
done while [[ $number -le 10 ]]

الحلقات المتداخلة

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

على سبيل المثال، تتكرر حلقات for المتداخلة التالية خلال مصفوفة ثنائية الأبعاد وتطبع كل عنصر:

array=(
    [0,0]=1 [0,1]=2 [0,2]=3
    [1,0]=4 [1,1]=5 [1,2]=6
    [2,0]=7 [2,1]=8 [2,2]=9
)
for ((i=0; i<3; i++))
do
    for ((j=0; j<3; j++))
    do
        echo ${array[$i,$j]}
    done
done

عبارات التحكم في الحلقة

تسمح لك عبارات التحكم في الحلقة بتعديل تدفق الحلقة. إن عبارتي التحكم في الحلقة الأكثر استخدامًا في باش هما break وcontinue.

عبارة بريك

تُستخدم عبارة break لإنهاء الحلقة قبل الأوان. عند مواجهة عبارة break، يتم إنهاء الحلقة على الفور، وتستمر التنفيذ مع العبارة التالية بعد الحلقة.

على سبيل المثال، تستخدم حلقة for التالية عبارة break لإنهاء الحلقة عندما تصل قيمة i إلى 5:

for ((i=0; i<10; i++))
do
    if [ $i -eq 5 ]
    then
        break
    fi
    echo $i
done

عبارة كنتينيو

تُستخدم عبارة continue لتخطي التكرار الحالي للحلقة والمتابعة بالتكرار التالي. عند مواجهة عبارة continue، يتم تخطي العبارات المتبقية في التكرار الحالي، وتنتقل الحلقة إلى التكرار التالي.

على سبيل المثال، تستخدم حلقة while التالية عبارة continue لتخطي الأرقام الزوجية:

i=0
while [ $i -lt 10 ]
do
    ((i++))
    if [ $((i % 2)) -eq 0 ]
    then
        continue
    fi
    echo $i
done

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

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

Thank you for the feedback

اترك ردا