Bash functions
- دوال باش: دليل شامل للمبتدئين
مقدمة
دوال باش (Bash functions) هي مجموعة من الأوامر المجمعة التي يمكن استدعاؤها باسم معين. تعتبر الدوال أداة قوية في برمجة شل (Shell Scripting) لتبسيط المهام المتكررة، وتنظيم الكود، وتحسين قابليته للقراءة والصيانة. هذا المقال مخصص للمبتدئين ويهدف إلى تعريفهم بمفهوم دوال باش، وكيفية تعريفها، واستخدامها، بالإضافة إلى بعض الأمثلة العملية. فهم الدوال أساسي لأي شخص يرغب في كتابة سكريبتات باش (Bash scripts) أكثر تعقيدًا وفعالية.
ما هي دوال باش؟
ببساطة، الدالة هي كتلة من التعليمات البرمجية التي تقوم بمهمة محددة. بدلاً من كتابة نفس التعليمات البرمجية مرارًا وتكرارًا في سكريبت باش، يمكنك تعريف دالة تقوم بهذه المهمة، ثم استدعاء الدالة كلما احتجت إليها. هذا يوفر الوقت والجهد، ويجعل الكود أكثر تنظيمًا وسهولة في التعديل.
تعريف الدوال
يتم تعريف الدوال في باش باستخدام الكلمة المفتاحية `function` أو ببساطة عن طريق كتابة اسم الدالة متبوعًا بأقواس. إليك الطريقتان:
- باستخدام `function`
```bash function اسم_الدالة { # أوامر الدالة } ```
- بدون `function`
```bash اسم_الدالة() { # أوامر الدالة } ```
على سبيل المثال:
```bash greeting() {
echo "مرحباً بك!"
} ```
استدعاء الدوال
بعد تعريف الدالة، يمكنك استدعاؤها ببساطة عن طريق كتابة اسمها.
مثال:
```bash greeting # سيطبع "مرحباً بك!" ```
تمرير المعاملات إلى الدوال
يمكن للدوال استقبال معاملات (Parameters) لتخصيص سلوكها. يتم الوصول إلى هذه المعاملات باستخدام المتغيرات الخاصة `$1`، `$2`، `$3`، وهكذا، حيث `$1` يمثل المعامل الأول، `$2` يمثل المعامل الثاني، وهكذا. `$0` يمثل اسم الدالة نفسها.
مثال:
```bash greet() {
echo "مرحباً يا $1!"
}
greet علي # سيطبع "مرحباً يا علي!" greet فاطمة # سيطبع "مرحباً يا فاطمة!" ```
إرجاع القيم من الدوال
يمكن للدوال إرجاع قيم (Values) باستخدام الأمر `return`. ومع ذلك، فإن `return` يُستخدم بشكل أساسي لإرجاع رمز حالة الخروج (exit status) للدالة (عادةً 0 للنجاح وأي قيمة أخرى للفشل). لإرجاع قيمة فعلية، يمكن للدالة طباعة القيمة إلى الإخراج القياسي (standard output) ثم التقاطها باستخدام أمر مثل `$(اسم_الدالة)`.
مثال:
```bash add() {
result=$(( $1 + $2 )) echo $result
}
sum=$(add 5 3) echo "المجموع هو: $sum" # سيطبع "المجموع هو: 8" ```
المتغيرات المحلية والعامة
- المتغيرات المحلية (Local Variables): يتم تعريفها داخل الدالة باستخدام الكلمة المفتاحية `local`. هذه المتغيرات تكون مرئية فقط داخل الدالة ولا تؤثر على المتغيرات الموجودة خارجها.
- المتغيرات العامة (Global Variables): يتم تعريفها خارج الدالة وتكون مرئية في جميع أنحاء السكريبت. يمكن للدوال الوصول إلى المتغيرات العامة وتعديلها.
مثال:
```bash global_var="قيمة عامة"
my_function() {
local local_var="قيمة محلية" echo "المتغير المحلي: $local_var" echo "المتغير العام: $global_var" global_var="قيمة عامة جديدة" # تعديل المتغير العام
}
my_function echo "المتغير العام بعد الدالة: $global_var" # سيطبع "قيمة عامة جديدة" ```
أمثلة عملية
- التحقق من وجود ملف:
```bash file_exists() {
if [ -f "$1" ]; then echo "الملف موجود" return 0 else echo "الملف غير موجود" return 1 fi
}
file_exists my_file.txt ```
- حساب متوسط قائمة من الأرقام:
```bash calculate_average() {
local sum=0 local count=0 for num in "$@"; do # $@ يمثل جميع المعاملات sum=$((sum + num)) count=$((count + 1)) done if [ $count -gt 0 ]; then average=$(echo "scale=2; $sum / $count" | bc) # استخدم bc للحسابات العشرية echo $average else echo "لا توجد أرقام لإيجاد المتوسط" fi
}
average=$(calculate_average 10 20 30 40) echo "المتوسط هو: $average" ```
نصائح لتحسين استخدام الدوال
- استخدم أسماء وصفية للدوال لتعكس وظيفتها.
- قم بتعليق الدوال لشرح ما تفعله.
- قسّم المهام الكبيرة إلى دوال أصغر وأكثر قابلية للإدارة.
- استخدم المتغيرات المحلية كلما أمكن ذلك لتجنب التعارضات.
- اختبر الدوال جيدًا قبل استخدامها في الإنتاج.
مفاهيم ذات صلة
- المتغيرات في باش
- التحكم في التدفق في باش (if, for, while)
- الأوامر الشرطية في باش
- عمليات الإدخال والإخراج في باش
- معالجة النصوص في باش
- استخدام bc للحسابات العشرية
- التعامل مع المصفوفات في باش
- التعبيرات النمطية في باش
استراتيجيات تداول الخيارات الثنائية والتحليل الفني
- استراتيجية مارتينجال
- استراتيجية المتوسطات المتحركة
- استراتيجية اختراق النطاق
- تحليل الشموع اليابانية
- مؤشر القوة النسبية (RSI)
- مؤشر الماكد (MACD)
- خطوط فيبوناتشي
- تحليل حجم التداول
- استراتيجية التداول بناءً على الأخبار
- استراتيجية التداول المتأرجحة
- استراتيجية التداول اليومي
- استراتيجية التداول طويل الأجل
- استراتيجية التداول العكسي
- استراتيجية التداول بناءً على الأنماط
- تحليل بولينجر باندز
خاتمة
دوال باش هي أداة أساسية لأي شخص يعمل مع برمجة الشل. من خلال فهم كيفية تعريف الدوال واستخدامها، يمكنك كتابة سكريبتات باش أكثر قوة وكفاءة ومرونة. تدرب على الأمثلة المذكورة في هذا المقال واستكشف المزيد من الموارد لتعزيز مهاراتك في برمجة باش.
ابدأ التداول الآن
سجل في IQ Option (الحد الأدنى للإيداع $10) افتح حساباً في Pocket Option (الحد الأدنى للإيداع $5)
انضم إلى مجتمعنا
اشترك في قناة Telegram الخاصة بنا @strategybin للحصول على: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات باتجاهات السوق ✓ مواد تعليمية للمبتدئين