السلام عليكم و رحمة الله و بركاته
اخواني اعضاء سوالف سوفت
يسعدني ان اقدم لكم هذا الشرح لأرد جزء مما تعلمته فى سوالف
فأنا لست خبيرا ولا عالما .. لكني اتعلم و احاول ان اشارككم بما اتعلمه او تعلمته بالفعل
و في البداية اتقدم بالشكر لكل من عمل على تقدم سوالف سوفت من ادارة و اعضاء
و اخص بالذكر المشرف العزيز Net Hunter .. على تشجيعه و دعمه الشخصي لتقديم هذا الشرح الذى اتمنى ان يكون مفيدا
------------------------------------------
موضوع الشرح كما يتضح من العنوان هو عن bash shell scripting
و محتوى هذا الشرح مجمع من اكثر من مصدر اهمها مجموعة من اسطوانات تعليمية ذات مستوى عالي
ماهو الshell script ?
كل ما استطيع قوله هو انه عبارة عن برنامج صغير او ما شابه .. يحتوى على مجموعة من اوامر الlinux التي يتم تنفيذها فور تشغيله .. و تستطيع ايضا من خلاله وضع شروط محددة و اذا وجدت هذه الشروط يتم تنفيذ الامر ( على سبيل المثال If Else ).
فمثلا البعض كلما يقوم بعمل ريستارت للسيرفر يقوم بادخال الكثير من الاوامر لتشغيل بعض البرامج و غيرها .. فمن الاسهل ان يقوم بعمل shell script واحد يحتوى على كل هذه الاوامر و تشغيله بأدخال امر واحد للشل .. بدلا من ادخال الكثير و الكثير من الاوامر
سنتعلم فى هذا الشرح كيفية كتابة هذا النوع من البرامج و ذلك عن طريق العديد من الامثلة المبسطة و السهلة
------------------------------------------
عندما تنتهي من قراءة هذا الدرس ستتعرف على الاتي :
1- المتغيرات
2- التعليقات
3- الامر echo
4- If Then Else
5- For
6- كيفية تشغيل البرنامج
7- بعض الاوامر العامة باللينكس التي سيتم تطبيقها في الامثلة
و الان فلنبدأ
------------------------------------------------------------------------
قبل ان ابدأ البعض قد يسأل اين اقوم بكتابة تلك الاكواد و غيرها
كل ما عليك هو كتابتها في ملف text عادي ( باستخدام اي محرر مثل nano اذا كنت تستخدم لينكس ثم حفظ الملف بامتداد .sh )
1- المتغيرات Variables و كيفية تعريفها :
المتغير هو قيمة تعرفها للshell script بحيث يمكنك استدعائها بعد ذلك كلما اردت
و المتغير انواع فقد يكون المتغير هو أمر او كلمة او جملة او رقم .. و غير ذلك
اعلم ان بعضكم قد لا يفهم ما اقول لكن مع هذا المثال سنفهم جيدا ماذا يعني المتغير
اعتقد ان البعض قد بدأ يتضح له ما هو المتغيركود:name="AS4Host";
name = المتغير
AS4Host = قيمة المتغير
بمعنى انك اذا قمت بكتابة $name بعد ذلك فى الكود سيظهر لك كلمة AS4Host عندما تقوم بتشغيل البرنامج
البعض قد يسأل لماذا استخدم المتغير بدلا من ان استخدم كلمة AS4Host مباشرة .. و السبب بسيط هو انك اذا اردت بعد ذلك تغيير كلمة AS4Host فى الكود يكفي تغيير القيمة فى المتغير بدلا من ان تعيد كتابتها اكثر من مرة اذا كنت قد كررتها كثيرا .. كما ان المتغير قد لا يحمل قيمة ثابتة .. فيمكننا مثلا ان نجعل المساحة المستخدمة لمجلد (folder) محدد هي قيمة المتغير .. و على ذلك فلا يمكننا ان نجعلها قيمة ثابته لأن المساحة المستخدمة قد تزيد و قد تنقص.
اذا كنت تشعر بأن الامور ليست واضحة لا تقلق فكل شيء سيتضح بعد التطبيق العملي
كيف تعرف ( بضم التاء ) المتغير؟
كل ما عليك هو كتابته بالشكل التالي في الملف
و طبعا تستبدل name بأى اسم تريدهكود:name="value";
و تستبدل value بالقيمة التى تريدها
و عندما تريد استدعاءه فقط اكتب
$name
مع استبدال كلمة name بالاسم الذي سميته للمتغير
-----------------------------------
2- التعليقات :
هي تعليقات لا تدخل في الكود ولا تأثير لها على طريقة عمل البرنامج
و لكنها هامة لتوضيح بعض الاشياء في الكود
على سبيل المثال قد ترغب في كتابة اسمك كمبرمج للسكربت في بداية السكريبت
ذلك يكون عن طريق كتابة هذه العلامة ( # ) قبل السطر
مثال :
هكذا لن تظهر هذه السطور عندما تقوم بتشغيل الشل سكريبت .. لكن اذا قمت باستعراضه عن طريق محرر نصوص ستظهر لككود:# This is a shell script # Written by AS4Host # Exclusive at swalif # Be Swalif Be Happy
-------------------------------
3- الأمر echo
عندما تكتب هذا الأمر في السكربت فهو يقوم بعرض النص الموجود داخله
مثال
عندما تقوم بتشغيل البرنامج سيظهر لك هذا النصكود:echo "I love swalif"
I love swalif
-------------------------------
4- كيفية تشغيل الShell script
كل ما عليك فعله هو كتابة هذا الامر
طبعا نقوم بتغيركود:bash /path-to-file/filename.sh
path-to-file الى مسار البرنامج ( اذا كان البرنامج موجود في نفس المجلد الذي تقف فيه .. فلن تحتاج الى جزء /path-to-file في كتابة الأمر )
filename الى اسم الملف الفعلي
في هذه المرحلة سنقوم بتطبيق عملي بسيط لتعلم كيفية استخدام المتغيرات في الامر echo
قد يبدو لكم هذا التطبيق بلا معنى و هو فعلا بلا معنى فى صورته الحالية لكن بعد ذلك سنتعرف على فائدته عن استخدامه في تطبيقات حقيقية
------------------------------
هذا هو التطبيق العملي
قمت بكتابة سكربت بهذا الشكل
و بعد ذلك قمت بتشغيله عن طريق الأمر السابق ذكره بالأعلى
bash filename.sh
و اليكم النتيجة
هنا و انتهى الجزء الأول ارجو ان تستفيدوا من هذا الدرس , علما انه مجرد مقدمة اساسية لابد منها .. و في الجزء القادم سنبدأ بعمل تطبيقات ذات اهمية و مفيدة لنا جميعا