Bash scripting tutorial
```wiki
دروس في برمجة Bash للمبتدئين
مقدمة
Bash (Bourne Again Shell) هو مترجم أوامر و لغة برمجة نصية قوية تستخدم على نطاق واسع في أنظمة التشغيل Unix و Linux. يعتبر Bash أداة أساسية لمسؤولي النظام و المطورين على حد سواء. يتيح لك Bash أتمتة المهام المتكررة، و إدارة الملفات، و تنفيذ العمليات المعقدة بسهولة. هذا المقال هو دليل شامل للمبتدئين لتعلم برمجة Bash، مع التركيز على المفاهيم الأساسية و الأمثلة العملية. سنتطرق أيضاً إلى بعض المفاهيم المتقدمة التي ستساعدك على كتابة نصوص Bash أكثر تعقيداً و كفاءة.
لماذا تتعلم Bash؟
- الأتمتة: Bash يسمح لك بأتمتة المهام المتكررة، مما يوفر الوقت و الجهد.
- إدارة النظام: Bash هو أداة أساسية لإدارة أنظمة Linux و Unix.
- البرمجة النصية: Bash يتيح لك كتابة نصوص برمجية لتنفيذ مهام معقدة.
- المرونة: Bash لغة مرنة يمكن استخدامها في مجموعة متنوعة من التطبيقات.
- الانتشار: Bash متوفر على نطاق واسع في معظم أنظمة Linux و Unix.
الأساسيات
1. تشغيل Bash
لفتح Bash Terminal (نافذة الأوامر)، ابحث عن "Terminal" أو "Bash" في قائمة التطبيقات الخاصة بك. بمجرد فتح Terminal، سترى موجه الأوامر، و هو عادةً رمز '$' أو '#'.
2. الأوامر الأساسية
- pwd: يطبع مسار الدليل الحالي.
- ls: يسرد محتويات الدليل الحالي. يمكن استخدام الخيارات مثل `-l` لعرض التفاصيل و `-a` لعرض الملفات المخفية.
- cd: يغير الدليل الحالي. على سبيل المثال، `cd /home/user/documents` يغير الدليل إلى `/home/user/documents`.
- mkdir: ينشئ دليل جديد. على سبيل المثال، `mkdir new_directory` ينشئ دليل جديد باسم `new_directory`.
- rmdir: يزيل دليل فارغ. على سبيل المثال، `rmdir empty_directory` يزيل الدليل `empty_directory` إذا كان فارغاً.
- touch: ينشئ ملف فارغ جديد. على سبيل المثال، `touch new_file.txt` ينشئ ملف فارغ باسم `new_file.txt`.
- rm: يزيل الملفات. على سبيل المثال، `rm file.txt` يزيل الملف `file.txt`. استخدم `-r` لإزالة الدلائل و محتوياتها بشكل متكرر. (كن حذراً جداً عند استخدام `rm -r`)
- cp: ينسخ الملفات. على سبيل المثال، `cp file.txt new_file.txt` ينسخ الملف `file.txt` إلى `new_file.txt`.
- mv: ينقل أو يعيد تسمية الملفات. على سبيل المثال، `mv file.txt new_location/file.txt` ينقل الملف `file.txt` إلى الدليل `new_location`. `mv file.txt new_name.txt` يعيد تسمية `file.txt` إلى `new_name.txt`.
- cat: يعرض محتويات الملف. على سبيل المثال، `cat file.txt` يعرض محتويات الملف `file.txt`.
- echo: يعرض نصاً على الشاشة. على سبيل المثال، `echo "Hello, world!"` يعرض "Hello, world!".
3. المتغيرات
المتغيرات هي حاويات لتخزين البيانات. لتعيين قيمة لمتغير، استخدم علامة المساواة (=)، ولكن لا تستخدم مسافات حول علامة المساواة.
```bash name="John Doe" echo $name # يعرض John Doe ```
لاحظ استخدام علامة الدولار ($) للوصول إلى قيمة المتغير.
4. التعليقات
يمكنك إضافة تعليقات إلى نصوص Bash الخاصة بك باستخدام علامة (#). يتم تجاهل أي نص بعد علامة (#) على نفس السطر.
```bash
- هذا هو تعليق
name="John Doe" # تعيين اسم المستخدم ```
5. عمليات الإدخال و الإخراج
- stdin (Standard Input): عادةً ما يكون لوحة المفاتيح.
- stdout (Standard Output): عادةً ما يكون الشاشة.
- stderr (Standard Error): عادةً ما يكون الشاشة، و يستخدم لعرض رسائل الخطأ.
يمكنك إعادة توجيه الإدخال و الإخراج باستخدام الرموز التالية:
- <: إعادة توجيه الإدخال من ملف.
- >: إعادة توجيه الإخراج إلى ملف (يستبدل المحتويات الموجودة).
- >>: إعادة توجيه الإخراج إلى ملف (يضيف إلى المحتويات الموجودة).
مثال:
```bash echo "Hello, world!" > output.txt # يكتب "Hello, world!" إلى ملف output.txt ```
6. التحكم في التدفق
أ. عبارات if-then-else
تسمح لك عبارات `if-then-else` بتنفيذ أوامر مختلفة بناءً على شرط.
```bash if [ condition ]; then
# أوامر يتم تنفيذها إذا كان الشرط صحيحاً
elif [ another_condition ]; then
# أوامر يتم تنفيذها إذا كان الشرط الآخر صحيحاً
else
# أوامر يتم تنفيذها إذا كان الشرط خاطئاً
fi ```
مثال:
```bash age=25 if [ $age -ge 18 ]; then
echo "أنت بالغ."
else
echo "أنت قاصر."
fi ```
ب. حلقات for
تسمح لك حلقات `for` بتكرار مجموعة من الأوامر لعدد محدد من المرات أو لكل عنصر في قائمة.
```bash for variable in list; do
# أوامر يتم تنفيذها لكل عنصر في القائمة
done ```
مثال:
```bash for fruit in apple banana orange; do
echo "أنا أحب $fruit."
done ```
ج. حلقات while
تسمح لك حلقات `while` بتكرار مجموعة من الأوامر طالما أن شرطاً معيناً صحيحاً.
```bash while [ condition ]; do
# أوامر يتم تنفيذها طالما أن الشرط صحيحاً
done ```
مثال:
```bash count=1 while [ $count -le 5 ]; do
echo "العدد: $count" count=$((count + 1))
done ```
7. الدوال
تسمح لك الدوال بتجميع مجموعة من الأوامر في وحدة واحدة قابلة لإعادة الاستخدام.
```bash function function_name() {
# أوامر الدالة
} ```
مثال:
```bash function greet() {
echo "مرحباً, $1!"
}
greet "John" # يعرض "مرحباً, John!" ```
8. العمليات الحسابية
يمكنك إجراء عمليات حسابية باستخدام الأمر `expr` أو باستخدام `$(())`.
```bash result=$((5 + 3)) echo $result # يعرض 8 ```
9. السلاسل النصية
يمكنك معالجة السلاسل النصية باستخدام أوامر مثل `cut`, `sed`, و `awk`.
10. الأوامر المتقدمة
- grep: يبحث عن نمط في الملفات.
- find: يبحث عن الملفات بناءً على معايير مختلفة.
- xargs: ينفذ أوامر على قائمة من العناصر.
- sed: محرر تدفق للتحرير النصي.
- awk: لغة برمجة لعمليات معالجة النصوص.
Bash و التداول بالخيارات الثنائية (Binary Options)
على الرغم من أن Bash ليس أداة تداول مباشرة، إلا أنه يمكن استخدامه لأتمتة جوانب معينة من عملية التداول، مثل:
- جمع البيانات: يمكن استخدام Bash لجلب البيانات من مصادر مختلفة، مثل واجهات برمجة التطبيقات (APIs) الخاصة بالوسطاء أو مواقع الويب التي تقدم بيانات السوق.
- تحليل البيانات: يمكن استخدام Bash مع أدوات مثل `awk` و `sed` لتحليل البيانات و استخلاص المعلومات الضرورية لاتخاذ قرارات التداول.
- تنفيذ الأوامر: يمكن استخدام Bash لأتمتة إرسال الأوامر إلى وسيط الخيارات الثنائية، بناءً على شروط محددة. (هذا يتطلب واجهة برمجة تطبيقات (API) من الوسيط)
- إدارة المخاطر: يمكن استخدام Bash لتنفيذ قواعد إدارة المخاطر، مثل تحديد حجم الصفقة بناءً على رصيد الحساب.
استراتيجيات التداول التي يمكن دعمها بواسطة Bash
- استراتيجية متابعة الاتجاه (Trend Following): يمكن لـ Bash جمع بيانات الأسعار و تحديد الاتجاهات و إرسال أوامر تداول وفقاً لذلك.
- استراتيجية الاختراق (Breakout Strategy): يمكن لـ Bash مراقبة مستويات الدعم و المقاومة و إرسال أوامر تداول عند اختراق هذه المستويات.
- استراتيجية التداول العكسي (Reversal Strategy): يمكن لـ Bash البحث عن إشارات انعكاس الاتجاه و إرسال أوامر تداول وفقاً لذلك.
- استراتيجية التداول بناءً على المؤشرات الفنية (Technical Indicators): يمكن لـ Bash حساب المؤشرات الفنية مثل المتوسطات المتحركة (Moving Averages) و مؤشر القوة النسبية (RSI) و إرسال أوامر تداول بناءً على هذه المؤشرات.
- استراتيجية مارتينجال (Martingale Strategy): (تحذير: استراتيجية عالية المخاطر) يمكن لـ Bash تنفيذ استراتيجية مارتينجال عن طريق مضاعفة حجم الصفقة بعد كل خسارة.
ملاحظة هامة: التداول بالخيارات الثنائية ينطوي على مخاطر عالية. Bash يمكن أن يساعد في أتمتة بعض العمليات، لكنه لا يضمن الربح. يجب عليك دائماً فهم المخاطر المرتبطة بالتداول و استخدام استراتيجيات إدارة المخاطر المناسبة. كما يجب عليك دراسة التحليل الفني و تحليل الحجم و اتجاهات السوق و استراتيجيات التداول و مؤشرات التداول بعناية قبل البدء في التداول. تذكر أن إدارة رأس المال هي مفتاح النجاح في التداول. استكشف أيضاً استراتيجية سترادل و استراتيجية سترانجل و استراتيجية الفراشة و استراتيجية الكوندور.
الموارد الإضافية
- GNU Bash Documentation: [1](https://www.gnu.org/software/bash/manual/)
- Bash Scripting Tutorial: [2](https://www.shellscript.sh/)
- Binary Options Trading: [3](https://www.investopedia.com/terms/b/binary-options.asp)
خاتمة
Bash هي لغة قوية و مرنة يمكن استخدامها لأتمتة المهام و إدارة الأنظمة و كتابة نصوص برمجية معقدة. من خلال إتقان الأساسيات الموضحة في هذا المقال، يمكنك البدء في استخدام Bash لتحسين إنتاجيتك و تبسيط مهامك اليومية. تذكر أن الممارسة هي المفتاح لإتقان أي لغة برمجة، لذا ابدأ بكتابة نصوص Bash بسيطة و قم بتجربة ميزات مختلفة. برمجة_Shell أنظمة_Linux أنظمة_Unix الأوامر_الأساسية التحكم_في_التدفق الدوال_في_Bash معالجة_النصوص_في_Bash إعادة_توجيه_الإدخال_والإخراج المتغيرات_في_Bash التعليقات_في_Bash ```
ابدأ التداول الآن
سجل في IQ Option (الحد الأدنى للإيداع $10) افتح حساباً في Pocket Option (الحد الأدنى للإيداع $5)
انضم إلى مجتمعنا
اشترك في قناة Telegram الخاصة بنا @strategybin للحصول على: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات باتجاهات السوق ✓ مواد تعليمية للمبتدئين