Bash control structures
- هياكل التحكم في Bash
مقدمة
Bash (Bourne Again Shell) هو مترجم أوامر وقوة محرك برمجة نصية، وهو الافتراضي لمعظم توزيعات Linux و macOS. فهم هياكل التحكم في Bash أمر بالغ الأهمية لكتابة نصوص برمجية فعالة وديناميكية. تسمح لك هذه الهياكل باتخاذ القرارات وتنفيذ أجزاء من التعليمات البرمجية بشكل متكرر بناءً على شروط معينة. هذه المقالة موجهة للمبتدئين وتهدف إلى تقديم شرح شامل لهياكل التحكم الأساسية في Bash.
هياكل التحكم الأساسية
هناك عدة أنواع رئيسية لهياكل التحكم في Bash:
- عبارات if/then/else : تستخدم لتنفيذ كتل مختلفة من التعليمات البرمجية بناءً على صحة شرط.
- حلقات for : تستخدم لتكرار مجموعة من الأوامر لعدد محدد من المرات أو لكل عنصر في قائمة.
- حلقات while : تستخدم لتكرار مجموعة من الأوامر طالما أن شرطًا معينًا صحيح.
- حلقات until : تستخدم لتكرار مجموعة من الأوامر حتى يصبح شرط معين صحيحًا.
- عبارة case : تستخدم لاختيار كتلة واحدة من التعليمات البرمجية للتنفيذ من بين عدة خيارات محتملة.
عبارات if/then/else
تسمح عبارة `if` بتنفيذ التعليمات البرمجية بشكل شرطي. الصيغة العامة هي:
Admin (talk)bash if [ condition ]; then
commands
elif [ another_condition ]; then
other_commands
else
default_commands
- condition : تعبير يتم تقييمه كصحيح أو خاطئ. غالبًا ما تستخدم اختبار الملفات (مثل `-f` للتحقق من وجود ملف، `-d` للتحقق من وجود دليل) أو مقارنات الأرقام أو السلاسل النصية. انظر اختبار الملفات و المقارنات للحصول على تفاصيل أكثر.
- commands : الأوامر التي يتم تنفيذها إذا كان الشرط صحيحًا.
- elif : اختصار لـ "else if"، يسمح بفحص شروط متعددة.
- else : كتلة التعليمات البرمجية التي يتم تنفيذها إذا لم يكن أي من الشروط السابقة صحيحًا.
- fi : ينهي عبارة `if`.
مثال:
- !/bin/bash
file="myfile.txt"
if [ -f "$file" ]; then
echo "الملف '$file' موجود."
else
echo "الملف '$file' غير موجود."
حلقات for
تستخدم حلقات `for` لتكرار مجموعة من الأوامر لعدد محدد من المرات أو لكل عنصر في قائمة. هناك طريقتان رئيسيتان لاستخدام حلقات `for`:
- تكرار عبر قائمة :
Admin (talk)bash for variable in list; do
commands
- تكرار باستخدام تسلسل رقمي :
Admin (talk)bash for ((i=1; i<=10; i++)); do
commands
مثال:
- !/bin/bash
for fruit in apple banana cherry; do
echo "أنا أحب $fruit"
حلقات while
تنفذ حلقة `while` مجموعة من الأوامر طالما أن شرطًا معينًا صحيح. الصيغة العامة هي:
Admin (talk)bash while [ condition ]; do
commands
- condition : تعبير يتم تقييمه كصحيح أو خاطئ.
- commands : الأوامر التي يتم تنفيذها طالما أن الشرط صحيح.
مثال:
- !/bin/bash
count=1
while [ $count -le 5 ]; do
echo "العد: $count" count=$((count + 1))
حلقات until
تنفذ حلقة `until` مجموعة من الأوامر حتى يصبح شرطًا معينًا صحيحًا. الصيغة العامة هي:
Admin (talk)bash until [ condition ]; do
commands
- condition : تعبير يتم تقييمه كصحيح أو خاطئ.
- commands : الأوامر التي يتم تنفيذها حتى يصبح الشرط صحيحًا.
مثال:
- !/bin/bash
count=1
until [ $count -gt 5 ]; do
echo "العد: $count" count=$((count + 1))
عبارة case
تسمح عبارة `case` باختيار كتلة واحدة من التعليمات البرمجية للتنفيذ من بين عدة خيارات محتملة. الصيغة العامة هي:
Admin (talk)bash case variable in
pattern1) commands1 ;; pattern2) commands2 ;; *) default_commands ;;
- variable : المتغير الذي يتم مقارنته بالأنماط.
- pattern1, pattern2... : الأنماط التي يتم مطابقتها مع قيمة المتغير.
- commands1, commands2... : الأوامر التي يتم تنفيذها إذا تطابق النمط.
- ;; : يفصل بين الحالات المختلفة.
- *) : الحالة الافتراضية، يتم تنفيذها إذا لم يتطابق أي من الأنماط الأخرى.
- esac : ينهي عبارة `case`.
مثال:
- !/bin/bash
echo "أدخل رقمًا بين 1 و 3:" read num
case $num in
1) echo "لقد اخترت الرقم واحد." ;; 2) echo "لقد اخترت الرقم اثنين." ;; 3) echo "لقد اخترت الرقم ثلاثة." ;; *) echo "اختيار غير صالح." ;;
استراتيجيات متقدمة
- استخدام `break` و `continue` : يمكن استخدام `break` للخروج من الحلقة، بينما يمكن استخدام `continue` لتخطي التكرار الحالي والانتقال إلى التكرار التالي. انظر break و continue.
- الدوال (Functions) : يمكن تعريف الدوال لتجميع مجموعة من الأوامر واستخدامها بشكل متكرر. انظر الدوال في Bash.
- معالجة الأخطاء : استخدام `set -e` للخروج فورًا إذا فشل أي أمر. انظر معالجة الأخطاء.
- التعامل مع الإدخال/الإخراج : استخدام إعادة التوجيه (redirection) والأنابيب (pipes) لمعالجة البيانات. انظر إعادة التوجيه والأنابيب.
روابط ذات صلة (استراتيجيات، تحليل فني، تحليل حجم التداول)
- استراتيجية المتوسط المتحرك
- استراتيجية كسر النطاق
- استراتيجية بولينجر باندز
- استراتيجية المضاربة اليومية
- استراتيجية التداول المتأرجح
- تحليل الشموع اليابانية
- مؤشر القوة النسبية (RSI)
- مؤشر الماكد (MACD)
- مؤشر ستوكاستيك
- مستويات فيبوناتشي
- تحليل حجم التداول
- مؤشر حجم التداول في التوازن (OBV)
- التقلبات التاريخية
- مؤشر ATR (Average True Range)
- تحليل الدعم والمقاومة
روابط ذات صلة (مفاهيم Bash)
- Bash
- متغيرات Bash
- اختبار الملفات
- المقارنات
- الدوال في Bash
- إعادة التوجيه والأنابيب
- معالجة الأخطاء
- break و continue
- سلاسل Bash
- المصفوفات في Bash
- الأوامر الأساسية في Bash
- التعليقات في Bash
- الأحرف الخاصة في Bash
- العمليات الحسابية في Bash
- التعبيرات النمطية في Bash
ابدأ التداول الآن
سجل في IQ Option (الحد الأدنى للإيداع $10) افتح حساباً في Pocket Option (الحد الأدنى للإيداع $5)
انضم إلى مجتمعنا
اشترك في قناة Telegram الخاصة بنا @strategybin للحصول على: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات باتجاهات السوق ✓ مواد تعليمية للمبتدئين