خلونا نبدأ نتعرف على كيفية استخدام لغة البرمجه باش او عشان كلامي يكون دقيق هي لغة سكربتات
طيب ايه الفرق بين ال2 البرنامج هو عباره عن برنامج متكامل بيكون له كود وبعد كده تعمله كومبايل للسورس كود بيتحول الى ملف غير مقروء وبعدها تقدر انك تديه لأي حد من غير ما يقدر يقرأ الكود بتاعك
طبعاً قبل ما انسى : بما ان ده اول موضوع في القسم خلونا نأكد ان اللينكس هو نظام شغل الخاص بالباش يعني مفيش باش على الويندوز - عايز بقى الناس المبرمجين بتوع الويندوز ينافسونا بقى ويعملوا موضوع للبرمجه تحت الويندوز
طبعاً الباش مش كده خالص الكود بتاعك هيكون قدام الكل لأنها لغه ممكن تعتبها :
1- مجموعة اوامر ورا بعض
2- ممكن تعتبرها بدايات لغة برمجه متطوره مع فارق ان السورس مع الكل ومفيش كومبايل
3- ممكن يتعمل تشفير للملف ببرامج معينه مع العلم ان ممكن يتفك السورس والناس تقرأه بردو يعني من الآخر متفكرش في تشفير ده على حد علمي وفوق كل ذي علم عليم
نبدأ نتكلم عن الباش : عشان نبسط الأمور اي لغة برمجه بتتكون من ايه :
1- ثوابت ومتغيرات
2- لوب او دوران او التفاف - سموها زي ما تحبوا loop
3- شروط - شرط
4- ممكن بعض الأدوات المساعده زي functions عشان تقلل تكرار الأوامر او سلسلة اوامر
الوقت هنبدأ نتعرف على لة البرمجه باش عشان بالتاكيد هنستفيد منها في شغلنا كتير :
1- في عندنا متغيرات كتير في اللينكس من الممكن نستخدمها وبدون ما تزعج نفسك انك تدور على النتيجه دي او هتجيبها منين لأنها موجودة اصلاً :
في عندنا المتغيرات قسمين :
environmental variables
و
local variables
ايه الفرق هنوضح الوقت :
environmental variables
زي لو جيت في سكرت وكتبت
كده هيطبع مسار الهوم الخاص بيك لو كنت روت هيكتبلك /root
لو كنت يوزر وإسمه ahmed يبقى الهوم بتاعك في /home/ahmed
متغير تاني اسمه $SHELL
ده هيعرفك انت شغال شيل ايه في انواع شيلات كتير في
bash - csh - ssh - zsh - tzshell وغيرها
في متغير تاني على النظام اسمه $LOGNAME
ده هيديك اسم المستخدم اللي داخل الوقت
هيديك اليوزر ايدي وده بكل بساطه معناه - كل مستخدم على النظام له رقم بيسمى ايدي وده رقم اليوزر السيستيم لنا بيتعامل مع بروسيس من اليوزر ده بيتعامل برقمه مش بإسمه الرقم ده كمان ممكن تعرفه من خلال الملف اللي بيكون في هالمستخدمين على السيستيم او ملف الباسووردات
كود:
/etc/passwd او /etc/shadow
ده ممكن يتحكم في شكل البرومبت او المحث بتاع اللينكس وزي ما كل الناس عارفه شكل المحث بشكل معين اكيد ممكن يتغير لو غيرت قيمهة المحث ده بالتاكيد هنغيرها ازاي هنعرف قدام
في عندنا متغيرات تانيه اسمها :
local variables
المتغيرات دي احنا اللي بنعملها للنظام عشان يفهمها هو :
بإختصار لما باجي اكتب :
كود:
a=linux
b=is
c=the
d=best
لو جيت اطبع كل اللي كتبته من المتغيرات اللي فاتت دي يبقى هكتب
كده لما هيطبع على الشاشه هيطبع
معنى اللي فات اني اديته المتغيرات ولما حبيت اطبعهم قلتله اطبع دول طبعاً مش شرط تطبعهم اول ما تحط المتغير او مش شرط انك مدام طبعت المتغير يبقى تحطه تاني مدام حطيت المتغير براحتك بقى استعمله وقت ما تحب
عايز تلغي متغير بقى ممكن تستعمل امر unset
كده هيلغي المتغير اللي اسمه a
كده لو نفذت امر الطباعه اللي فات هيطبع
خد بالك من حاجه اي تعديل على متغيرات عايز تخليه نهائي على اي يوزر تفتح الملف ده وتحط فيه المتغير عشان يبقى ثابت للأبد
خدوا بالكم ~/ يعني الهوم بتاع اليوزر سواء روت او يوزر عادي
نتكلم عن اول كلمتين بالظبط في الباش ونقف بقى عشان عايز اطلع انام :
بداية اي سكربت لازم يكون :
ودي لزمتها انك بتعرف السكربت انه هيرن من المسار ده زي ما بتشتغل html او php او perl او اي لغه برمجه
خد بالك ممكن تكتب اي مسار اي شيل يعني ممكن تكتب
او مسار اي شيل تاني بس اللي بالتاكيد عند الكل هو
بعدها بقى الطبيعي لما تكتب اي سكربت تبقى عارف مجموعه حاجات :
1- انك الملف يبدأ بالسطر اللي فات ده ( الشيبانج )
2- الملف يكون له صلاحيات تنفيذ مش شرط عشان هيكون ملف تنفيذي تعمله 777 يعني ممكن يبقى 755 وممكن يكون 705 عادي يعني على حسب ما انت شايف ان ده الصح
3- اي وقت حبيت تعمل كومنت او تعليق او حبيت تضيف اي حاجه لا تؤثر على الكود اللي مكتوب ممكن تستخدم #
يعني لو كتبت مثلاًَ
ولا كأني كتبت اي حاجه اصلاً لو عملت رن للسكربت مش هيعمل حاجه حتى لو كان في كود ولا كأنك كتبت حاجه لأن الكلام ده قدامه انه تعليق
4- لو في تعديل في السكربت وانت عايز تجرب حاجه وعايز تعطل وظيفة حاجه معينه مش شرط تمسح السطر وترجع تعيده تاني بعدين لا طبعاً اعمله تعليق #
نبدأ بقى نعرف يعني ايه باش بس في المشاركه الجايه بس اعذروني هتكون قصيره شويه ،،،
وعشان حاسس اني طولت عليكم ،،،

،،،