منهج نواة تقنية الجلسة الحادية عشر

من ويكي أضِف
اذهب إلى التنقل اذهب إلى البحث

أساسيات الشل سكربت shell script

محتوي الجلسة

مقدمه عن أساسيات البرمجة

 1- ما هي العملية (processes)؟
 2- كيف يتم تنفيذ الكود؟
 3- ما هي أنواع لغات البرمجة؟
 4- كيف تعمل آلة جافا الافتراضية java virtual machine ؟ وما ميزاتها وعيوبها؟
 5- ما هي اللغات الأسرع المُصرفه compiled أم المفسره interpreted؟
 6- ما معنى خوارزمية Algorithm ؟
 7- هل يمكن إيجاد حل لكل المشكلات يإستخدام الخوارزميات؟
 8- ما هي العلاقة بين لغة البرمجه والخوارزمية؟

تعريف الشل

وظائف الشل

كتابة أول اسكربت

  1. انشاء ملف الاسكربت
  2. تشغيل ملف الاسكربت
  3. صلاحيات الملف
  4. الخوارزميات

إستعراض أوامر الشل سكريبت

 1- اساليب التكرار
 2- أوامر قراءة المدخلات
 3- الجملة الشرطية if
 4- أمر Break
 5- أمر continue
 6- المقارنة بين اوامر التكرار for,while,until
 7- الأمر if,elif,else
 8- الجملة الشرطية case
 9- فتح الملفات عن طريق اسكربت شل exec

الاستبدال substitution في الشل سكريبت

الدوال في لغة الشل shell functions

أنواع الشل

 1- تفاعلية وغيرتفاعليه (interactive vs non-interactive)
 2- ولوجيه وغير ولوجيه (login vs non-login)

تهيئة الشل Shell Initialization

طريقة تقديم الجلسة

مقدمه عن الشل سكربت 1- ما هي العملية (processes)؟, يذكر الميسر المتدربين بما تم ذكرة في الجلسة العاشرة(العمليات 2- كيف يتم تنفيذ الكود؟ يذكر الميسر المتدربين بما تم ذكرة في الجلسة الأولي (نموذج تنفيذ البرنامج) 3- ما هي تصنيفات لغات البرمجة؟ علي سبيل المثال (ٍstatic vs dynamic) (compiled vs interpreted) يطلب الميسر من المتدربين البحث عن تصنيفات لغات البرمجه ويتولي كل متدرب توضيح تصنيف. ؟؟؟4- ما هي آلة جافا الافتراضية java virtual machine ؟ هي برمجية محمولة لتشغيل البرامج بمعزل عن نظام التشغيل والعتاد ما هو تصنيف آلة جافا الافتراضية في لغات البرمجة وكيف تعمل ؟ يصرف (compile) مصرف جافا (java compiler) كود البرنامج لتحويلة لكود وسيط لتفسرة آلة جافا الافتراضية (interpret)الي لغة الأله المناسبة لمعيارية العتاد؟؟؟؟ 5- ما هي اللغات الأسرع المُصرفه compiled أم المفسره interpreted؟ اجابة السؤال يعتمد علي نوع والغرض من البرنامج, ففي مرحلة التطوير اللغات المفسره interpreted تكون اسرع في التطوير نظراً لسهولة التنقيح debugging حيث ان تحويل الكود الي لغة الأله يكون سطر سطر, أما اللغات المصرفة compiled تكون اصعب في التنقيح لكن أسرع في التنفيذ حيث ان تحويل الكود الي لغة الأله يكون دفعة واحدة. 6- ما معنى خوارزمية Algorithm ؟ هي مجموعة من الخطوات الرياضية والمنطقية والمتسلسلة اللازمة لحل مشكلة ما 7- هل يمكن إيجاد حل لكل المشكلات يإستخدام الخوارزميات؟ لا, لانه يوجد ال non polynomial problems وهي لا يمكن حلها حاسوبياً 8- ما هي العلاقة بين لغة البرمجه والخوارزمية؟ لغة البرمجة تخضع لمبادئ الخواريزمية من انها مجموعة من الخطوات المتسلسلة التي تنفذ بالترتيب وتعتمد علي التكرار والتنفيذ الشرطي

تعريف الشل ؟؟؟؟هي برمجية للتواصل بين طبقة المستخدم user space من جهه والبرامج النواة kernel من جهه اخري, يتلقي الأوامر من المستخدم وينفذها عن طريق النواة kernel أو البرامج ويعرض المخرجات والرسائل من ال kernel والبرامج للمستخدم.؟؟؟؟

وظائف الشل

كتابة أول اسكربت


1-عرض تنفيذ مجموعة من الاوامر من ملف بكتابة مجموعة من الاوامر في ملف نصي 2- طريقة التوجيه

   bash < مسار الملف

اعرض ان الباش يفترض ان أول مدخلة (argument) علي سطر الاوامر هو مسار الملف الذي سيحصل منه علي الامر الذي سينفذها

          bash اسم الملف  
        توضيح ان الباش ينفيذ الاوامر بشكل تتابعي

11.3 اعرض طريقة ثالثة لتشغيل الاوامر من ملف وهي كتابة اسم الملف بعد ./ 11.4 في حالة تشغيل الملف ب ./

          يجب ان يبدأ الملف بـ
#! /bin /bash

الصلاحيات استعرض محاولة تشغيل ملف بصلاحيات خاطئة ثم تغييرها لصلاحيات صحيحة

الخواريزميات 11.6 أسأل هل يكفي التنفيذ التتابعي لكتابة اي برنامج 11.7 اوضح ان استخدام مبادئ الخواريزميات ضرورة في كتابة أي برنامج

- التنفيذ التتابعي sequential – التنفيذ الشرطي conditional – التكرار loop

إستعراض أوامر الشل سكريبت

11.8 إستعراض اساليب التكرار for loop, while, until )أستعراض الاوامر يكون في شكل تحديات مطلوب حلها وامثلة)

11.9 لادخال مدخلات من لوحة المفاتيح نستعرض أمر read 11.10 استعرض الجملة الشرطية conditional statement (if) 11.11 استعرض أمر break 11.12 استعرض أمر continue 11.13 اطلب المقارنة بين اوامر التكرار for,while,until

          كل ما سبق يكون في إطار مثال واحد 

11.14 if,elif,else 11.15 الجملة الشرطية case 11.16 فتح الملفات عن طريق اسكربت شل exec

11.17 ننفذ تمرين بوضع برنامج يقرأ من ملف وينفذ عليه عمليات

          يقرأ سطر سطر ويكتب عدد الكلمات في كل سطر مثلاً أو عدد الكلمات في الملف

11.18 substitution (expansions) command expansion, string expansion, etc 11.19 الدوال في لغة الشل shell functions

- لماذا نستخدم الدوال بدلًا من استخدام اسكربت فرعي sub-script

لأن الاسكربت الفرعي يُنفذ في شل منفصله وتُعيد قيمة واحده، وبالتالي لا يمكنها التعامل مع البيانات الداخلية local data للاسكربت الاساسي

11.20 نستخدم كتاب Bash-Beginners-Guide كمصدر للبحث

          يسأل المدرب عن التطبيق او الامر ويبحث عنه المتدربون

11.21 أنواع الشل - تفاعلية وغيرتفاعليه (interactive vs non-interactive) - ولوجيه وغير ولوجيه (login vs non-login) 11.22 تهيئة الشل Shell Initialization