مقدمة Bash Scripting في Linux: أول سكربت خطوة بخطوة
Bash Scripting هو الخطوة التي تحولك من تنفيذ أوامر متفرقة إلى أتمتة حقيقية في Linux.
في هذا الدرس ستكتب أول سكربت وتفهم الأساس الذي ستبني عليه كل سكربتاتك القادمة.
ما هو Bash Script ولماذا نستخدمه؟
- ملف نصي يحتوي أوامر shell
- ينفذ مهام متكررة تلقائيا
- يقلل الأخطاء البشرية ويوفر وقتًا كبيرًا
أول سكربت Bash بسيط
nano hello.sh
ضع المحتوى التالي:
#!/bin/bash
echo "Hello from Bash"
echo "Today is: $(date)"
ما هو Shebang #!/bin/bash؟
هذا السطر يخبر النظام بأي مفسر يجب تشغيل السكربت. بدون shebang قد يتم تفسير السكربت بطريقة غير متوقعة.
تشغيل سكربت Bash بطريقتين
bash hello.sh
chmod +x hello.sh
./hello.sh
| الطريقة | متى تستخدم |
|---|---|
bash script.sh |
تشغيل مباشر بدون صلاحية تنفيذ |
./script.sh |
بعد إعطاء chmod +x |
المتغيرات في Bash
#!/bin/bash
NAME="Rachid"
COURSE="Linux"
echo "Welcome $NAME to $COURSE course"
- لا تضع مسافات حول
=عند تعريف المتغير - استخدم
$VARأو${VAR}عند القراءة
قراءة مدخلات المستخدم بـ read
#!/bin/bash
echo "What is your name?"
read USER_NAME
echo "Hello $USER_NAME"
مفيد للسكربتات التفاعلية التي تحتاج بيانات من المستخدم.
التعليقات في Bash Scripts
# This is a comment
echo "Run backup now"
التعليقات تساعد في توضيح منطق السكربت خاصة في المشاريع الطويلة.
المتغيرات الجاهزة (Special Variables)
echo "Script name: $0"
echo "First arg: $1"
echo "Second arg: $2"
echo "Args count: $#"
هذه المتغيرات مهمة عند بناء سكربتات تعتمد على arguments.
مثال سكربت مع arguments
#!/bin/bash
echo "Hello $1"
echo "Environment: $2"
تشغيله:
./hello.sh Ali production
أفضل ممارسات للمبتدئ في Bash
- ابدأ كل سكربت بـ shebang واضح
- اختبر السكربت على بيانات بسيطة أولًا
- أضف رسائل واضحة عبر
echoللتتبع - استخدم أسماء متغيرات مفهومة
تمرين عملي: سكربت ترحيب وتاريخ
nano my-first-script.sh
#!/bin/bash
echo "Enter your name:"
read NAME
echo "Hello $NAME"
echo "Current date: $(date)"
chmod +x my-first-script.sh
./my-first-script.sh
إذا اشتغل السكربت وقرأ الاسم وطبَع التاريخ، فأنت بدأت Bash Scripting بشكل صحيح.
FAQ: أسئلة شائعة حول Bash Scripting
ما هو Bash Scripting؟
هو كتابة سلسلة أوامر داخل ملف نصي لتنفيذ مهام تلقائيا بدلا من كتابتها يدويًا كل مرة.
ما معنى shebang في بداية السكربت؟
هو السطر الذي يحدد المفسر المستخدم لتشغيل السكربت مثل #!/bin/bash.
كيف أشغل سكربت Bash في Linux؟
إما عبر bash script.sh أو إعطاء صلاحية تنفيذ ثم تشغيله مباشرة باستخدام ./script.sh.