الموضوع: اصول Bash Scripting
عرض مشاركة واحدة
قديم 04-29-2009, 05:45 AM   #1 (permalink)
عضو نشيط

اوسمتي

 
تاريخ التسجيل: Apr 2009
العمر: 24
المشاركات: 104
مشكوك فيه
معدل تقييم المستوى: 6
NabeeliumAttack is a glorious beacon of lightNabeeliumAttack is a glorious beacon of lightNabeeliumAttack is a glorious beacon of lightNabeeliumAttack is a glorious beacon of lightNabeeliumAttack is a glorious beacon of lightNabeeliumAttack is a glorious beacon of light
Smile اصول Bash Scripting

خلونا نبدأ نتعرف على كيفية استخدام لغة البرمجه باش او عشان كلامي يكون دقيق هي لغة سكربتات

طيب ايه الفرق بين ال2 البرنامج هو عباره عن برنامج متكامل بيكون له كود وبعد كده تعمله كومبايل للسورس كود بيتحول الى ملف غير مقروء وبعدها تقدر انك تديه لأي حد من غير ما يقدر يقرأ الكود بتاعك

طبعاً قبل ما انسى : بما ان ده اول موضوع في القسم خلونا نأكد ان اللينكس هو نظام شغل الخاص بالباش يعني مفيش باش على الويندوز - عايز بقى الناس المبرمجين بتوع الويندوز ينافسونا بقى ويعملوا موضوع للبرمجه تحت الويندوز

طبعاً الباش مش كده خالص الكود بتاعك هيكون قدام الكل لأنها لغه ممكن تعتبها :

1- مجموعة اوامر ورا بعض
2- ممكن تعتبرها بدايات لغة برمجه متطوره مع فارق ان السورس مع الكل ومفيش كومبايل
3- ممكن يتعمل تشفير للملف ببرامج معينه مع العلم ان ممكن يتفك السورس والناس تقرأه بردو يعني من الآخر متفكرش في تشفير ده على حد علمي وفوق كل ذي علم عليم

نبدأ نتكلم عن الباش : عشان نبسط الأمور اي لغة برمجه بتتكون من ايه :

1- ثوابت ومتغيرات
2- لوب او دوران او التفاف - سموها زي ما تحبوا loop
3- شروط - شرط
4- ممكن بعض الأدوات المساعده زي functions عشان تقلل تكرار الأوامر او سلسلة اوامر

الوقت هنبدأ نتعرف على لة البرمجه باش عشان بالتاكيد هنستفيد منها في شغلنا كتير :

1- في عندنا متغيرات كتير في اللينكس من الممكن نستخدمها وبدون ما تزعج نفسك انك تدور على النتيجه دي او هتجيبها منين لأنها موجودة اصلاً :

في عندنا المتغيرات قسمين :

environmental variables

و

local variables

ايه الفرق هنوضح الوقت :

environmental variables

زي لو جيت في سكرت وكتبت

كود:
 echo $HOME
كده هيطبع مسار الهوم الخاص بيك لو كنت روت هيكتبلك /root

لو كنت يوزر وإسمه ahmed يبقى الهوم بتاعك في /home/ahmed

متغير تاني اسمه $SHELL

ده هيعرفك انت شغال شيل ايه في انواع شيلات كتير في

bash - csh - ssh - zsh - tzshell وغيرها

في متغير تاني على النظام اسمه $LOGNAME

ده هيديك اسم المستخدم اللي داخل الوقت

كود:
 $UID
هيديك اليوزر ايدي وده بكل بساطه معناه - كل مستخدم على النظام له رقم بيسمى ايدي وده رقم اليوزر السيستيم لنا بيتعامل مع بروسيس من اليوزر ده بيتعامل برقمه مش بإسمه الرقم ده كمان ممكن تعرفه من خلال الملف اللي بيكون في هالمستخدمين على السيستيم او ملف الباسووردات

كود:
 /etc/passwd او /etc/shadow
كود:
 $SP1
ده ممكن يتحكم في شكل البرومبت او المحث بتاع اللينكس وزي ما كل الناس عارفه شكل المحث بشكل معين اكيد ممكن يتغير لو غيرت قيمهة المحث ده بالتاكيد هنغيرها ازاي هنعرف قدام

في عندنا متغيرات تانيه اسمها :

local variables

المتغيرات دي احنا اللي بنعملها للنظام عشان يفهمها هو :

بإختصار لما باجي اكتب :

كود:
a=linux
b=is
c=the
d=best
لو جيت اطبع كل اللي كتبته من المتغيرات اللي فاتت دي يبقى هكتب
كود:
 acho $a $b $c $d
كده لما هيطبع على الشاشه هيطبع

كود:
 linux is the best
معنى اللي فات اني اديته المتغيرات ولما حبيت اطبعهم قلتله اطبع دول طبعاً مش شرط تطبعهم اول ما تحط المتغير او مش شرط انك مدام طبعت المتغير يبقى تحطه تاني مدام حطيت المتغير براحتك بقى استعمله وقت ما تحب

عايز تلغي متغير بقى ممكن تستعمل امر unset

كود:
 unset a
كده هيلغي المتغير اللي اسمه a

كده لو نفذت امر الطباعه اللي فات هيطبع

كود:
 is the best
خد بالك من حاجه اي تعديل على متغيرات عايز تخليه نهائي على اي يوزر تفتح الملف ده وتحط فيه المتغير عشان يبقى ثابت للأبد

كود:
 ~/.bashrc
خدوا بالكم ~/ يعني الهوم بتاع اليوزر سواء روت او يوزر عادي

نتكلم عن اول كلمتين بالظبط في الباش ونقف بقى عشان عايز اطلع انام :

بداية اي سكربت لازم يكون :

كود:
 #!/bin/bash
ودي لزمتها انك بتعرف السكربت انه هيرن من المسار ده زي ما بتشتغل html او php او perl او اي لغه برمجه

خد بالك ممكن تكتب اي مسار اي شيل يعني ممكن تكتب

كود:
 #!/bin/sh
او مسار اي شيل تاني بس اللي بالتاكيد عند الكل هو

كود:
 #!/bin/bash
بعدها بقى الطبيعي لما تكتب اي سكربت تبقى عارف مجموعه حاجات :

1- انك الملف يبدأ بالسطر اللي فات ده ( الشيبانج )

2- الملف يكون له صلاحيات تنفيذ مش شرط عشان هيكون ملف تنفيذي تعمله 777 يعني ممكن يبقى 755 وممكن يكون 705 عادي يعني على حسب ما انت شايف ان ده الصح

3- اي وقت حبيت تعمل كومنت او تعليق او حبيت تضيف اي حاجه لا تؤثر على الكود اللي مكتوب ممكن تستخدم #

يعني لو كتبت مثلاًَ

كود:
 # your comments
ولا كأني كتبت اي حاجه اصلاً لو عملت رن للسكربت مش هيعمل حاجه حتى لو كان في كود ولا كأنك كتبت حاجه لأن الكلام ده قدامه انه تعليق

4- لو في تعديل في السكربت وانت عايز تجرب حاجه وعايز تعطل وظيفة حاجه معينه مش شرط تمسح السطر وترجع تعيده تاني بعدين لا طبعاً اعمله تعليق #

نبدأ بقى نعرف يعني ايه باش بس في المشاركه الجايه بس اعذروني هتكون قصيره شويه ،،،

وعشان حاسس اني طولت عليكم ،،،،،،

التعديل الأخير تم بواسطة NabeeliumAttack ; 04-29-2009 الساعة 06:50 AM
NabeeliumAttack متواجد حالياً   رد مع اقتباس