للتسجيل اضغط هـنـا

« آخـــر الــمــواضــيــع »
         :: الجلطه... لمصلحتك اقرأها (آخر رد :ريتاج)       :: كيف تجعل ابنائك يصلون (آخر رد :ريتاج)       :: هل تتخيل أن القطن = الأسلاك الكهربائيّة؟؟ (آخر رد :ريتاج)       :: قصيدة قطر الندى من ديوان الغربة (آخر رد :ريتاج)       :: تقدير الذات (آخر رد :osowl.cOm)       :: تشـوكليت تشِـيزْ (آخر رد :ريتاج)       :: استمعوا لطفوله لربما .... (آخر رد :manal)       :: ملف شامل للأفكار الرومانسية للأزواج الرومانسيين .. (آخر رد :manal)       :: حديث لاتهجر اخاك (آخر رد :osowl.cOm)       :: ممكن طلب اليوم (آخر رد :osowl.cOm)       :: سنن الفطرة (آخر رد :جوهرة مصونة)       :: الف مليار مبروك لبابا المحترف (آخر رد :manal)       :: 900 جرام = 1 كيلو (آخر رد :osowl.cOm)       :: برجك لهذا اليوم صفحة يوميا (آخر رد :ريتاج)       :: اين انت فى مساء الجنون.؟ (آخر رد :ريتاج)      


 
العودة   منتديات أصول > أصول التقنية > أصول برمجة
 

أصول برمجة دروس ومشاريع برمجية php - c - asp - perl - python - java script - ajax - bash

إضافة رد
 
LinkBack أدوات الموضوع انواع عرض الموضوع
قديم 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 متواجد حالياً   رد مع اقتباس
قديم 04-29-2009, 05:45 AM   #2 (permalink)
أصــــول
 
تاريخ التسجيل: Feb 2007
المشاركات: 1,642
رايق
معدل تقييم المستوى: 10
osowl.cOm is a glorious beacon of lightosowl.cOm is a glorious beacon of lightosowl.cOm is a glorious beacon of lightosowl.cOm is a glorious beacon of lightosowl.cOm is a glorious beacon of lightosowl.cOm is a glorious beacon of light
افتراضي

شكرا لهذا الموضوع الرائع ومن رائع لأروع إن شاء الله
__________________
عالم من الإبداع osowl.com
الأقوي والأفضل Aldwlya.com
Servers Administration
Security & Devlopement

osowl.cOm متواجد حالياً   رد مع اقتباس
قديم 04-29-2009, 05:56 AM   #3 (permalink)
أصــ(ملكة)ــول

اوسمتي

 
الصورة الرمزية بنت لبنان
 
تاريخ التسجيل: Jun 2004
المشاركات: 8,479
وحيدة
معدل تقييم المستوى: 10
بنت لبنان is a glorious beacon of lightبنت لبنان is a glorious beacon of lightبنت لبنان is a glorious beacon of lightبنت لبنان is a glorious beacon of lightبنت لبنان is a glorious beacon of lightبنت لبنان is a glorious beacon of light
افتراضي رد: Bash Scripting


ربنا يبارك فيك اخي الكريم
اللي بتعملو مجهود كبير كتير
وان شاء الله حتلاقي رودو تتفاعل مع هالموضوع
جزاك الله كل خير
__________________
لبــــــــنان
شو بحبك أنا . . يا جبين عالي وما نحنى




وبموت كرمالك أنا . . لو دء عبابك خطر
بنت لبنان غير متواجد حالياً   رد مع اقتباس
قديم 04-29-2009, 05:56 AM   #4 (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 او اكتر زي ما تحبوا ونعلق عليهم براحتنا

طبعاً اتفقنا اننا هنعمل ملف ونبدأ الكود ب :

كود:
 #!/bin/bash
والملف يكون تنفيذي

بعد كده مثلاً هنكتب سكربت يكون بيعرض تفاصيل مستخدم معين :

انا هكتب السكربت مش كامل سطر سطر هنفصصه وبعدها هتتصوروا انتم السكربت هيكون عامل ازاي :

كود:
 echo "your name is $LOGNAME"
كده هيطبع اسم المستخدم اللي داخل بيه

كود:
 echo "your USERID is $UID"
كده هيطبع الأيدي بتاع المستخدم اللي انا شغال بيه

كود:
 echo "mail in $MAIL"
كده هيطبع مسار الميل بتاعك على السيستيم

كود:
 echo "your home is in $HOME"
كده هيطبع مسار الهوم بتاعك

كود:
 echo "Time now is `date`"
خد بالك كويس جدا جدا جدا هنا :

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

كود:
 echo "today is `cal`"
كده هيعرض النتيجه

كود:
 echo "What is your name ?"
كده بطبع اني عايز اسمه يبقى لازم في مكان يتخزن فيه الإسم ده على انه متغير يبقى اكيد في تكنيك جديد ممكن يسألني من خلاله عن المتغير مش شرط احطة زي name = nabeel الإسلوب كالتالي :

كود:
 read name
كده هيسألني اسمك ايه ومستنيني احط زي ما احب بالتأكيد هكتب اسمي اول ما اكتبه ممكن استخدمه تحت بقى في باقي السكربت كالتالي :

كود:
 echo "welcome $name"
كده هيطبع على الشاشه welcome nabeel

بس كده اول درس خلص

اسيبكو على خير وتصبحوا على خير ،،، ،،،

التعديل الأخير تم بواسطة NabeeliumAttack ; 04-29-2009 الساعة 06:48 AM
NabeeliumAttack متواجد حالياً   رد مع اقتباس
قديم 04-29-2009, 06:39 AM   #5 (permalink)
رجل أقـل معـرفـة

اوسمتي

 
الصورة الرمزية المحترف
 
تاريخ التسجيل: Jun 2004
الدولة: مــصـــــر
العمر: 29
المشاركات: 1,160
مشغول
معدل تقييم المستوى: 10
المحترف is a name known to allالمحترف is a name known to allالمحترف is a name known to allالمحترف is a name known to allالمحترف is a name known to allالمحترف is a name known to all
افتراضي رد: Bash Scripting

السلام عليكم
بارك الله فيك أخي نبيل علي هذا المجهود الكبير ..

اسمح لي بإضافة بسيطة علي موضوعك ..
بالنسبة لدالة echo
فلها بعض المعاملات الاضافية والتي يمكن استخدامها مثل :
أولا الصورة العامة للأمر أو الدالة echo

كود:
echo [options] [string, variables...]
يستخدم لعرض نصوص أو قيم متغيرات علي الشاشة ..

معاملات الأمر أو الدالة :
-n لإلغاء اخراج القيم في سطر جديد .
-e لالغاء السلاش في نهاية السطور .. اذا اسنخدمنا \n أو غيرها ..
\a للتنبيه الصوتي عند اكتمال تنفيذ الامر او عملية معينة .
\b للمسح
\n لسطر جديد
\t لعمل تاب tab

وكمثال علي ما سبق :
كود:
echo -e "Oswol is My home page today \n"
استخدمنا هنا في نهاية السطر \n لكي يتم طباعة الجملة علي الشاشة وينزل المحس سطرا أسفل منها
أما عن -e فإن لم نستخدمها في المثال السابق فلن تعرض الجملة السابقة في سطر منفرد وسوف تظهر \n ولكن باستخدام -e تم تنفيذ \n وبالتالي عدم ظهورها في الجملة .

نبذة سريعة أيضا عن المتغيرات وهناك نوعين كما ذكرت أخي نبيل ولكني سوف أسميهم تسمية مختلفة
System variables
UDF / User Defined Vars.
الأول وهو متغيرات النظام نفسه وكما شرحت بالمثال HOME$
ومتغيرات النظام كل حروفها كبيرة capital
أما النوع الثاني udf
وهي المتغيرات التي يقوم بعملها اليوز الموجود علي السيستم علي منصة الباش مباشرة أو بداخل سكريبت الباش وللمتغيرات هذه الشروط:


أمثلة للمتغيرات

SYSTEM_VERSION
HOME
osowl

1- يجب ان يكون المتغير حروف او ارقام صحيحة ويسمح بتضمين أندر سكور ( _ ) في اسم المتغير .
2- عدم وضع مسافات في اسم المتغير او بينه وبين قيمته او بينه وبين علامة ( = ) : أمثلة
n =10 <<< خطأ
n= 10 <<< خطأ
n = 10 <<< خطأ
n=10 <<< صحيح .

3- المتغيرات حساسة لحالة الاحرف .. فالمتغير n غير المتغير N .

4- يمكننا انشاء متغير بدون اعطاءه أية قيم .. مثل

5- عدم استخدام اي علامات مثل ( ؟ - * .. إلخ ) عند تسمية المتغيرات .

========================================

* كيف يتم استدعاء قيم المتغيرات ؟
يتم استدعاء قيمة المتغير بالشكل التالي ..
نعطي المتغير hamada القيمة prof
hamada=prof
ثم يتم استدعاءه هكذا
echo $hamada
سوف يطبع لنا علي الشاشة القيمة prof وهكذا ..

سؤال : كيف يتم طباعة ناتج العملية 6+3 ؟
اذا كتبنا الامر هكذا echo 6+3
فسوف يطبع 6+3 ولن يطبع الرقم 9 ..
ولذلك فسوف نستخدم الامر EXPR بدلا من echo فيكون الامر علي هذه الصورة ..
كود:
 echo `expr 3+ 6`


مع ملاحظة المسافات الموجودة في الأمر .


أعتذر عن الإطالة في مداخلتي معك ..
وبارك الله فيك ونفع بك
اخوك
المحترف ,
__________________

قيل : الدنيا كلها ظلمات إلا موضع العلم …
والعلم كله هباء إلا موضع العمل …
والعمل كله هباء إلا موضع الإخلاص …
وقيل .. قيّدوا العلم بالكتب .. وقيدوا النعم بالشكر .
المحترف متواجد حالياً   رد مع اقتباس
قديم 04-30-2009, 02:30 AM   #6 (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
Wink رد: Bash Scripting

اقتباس:
المشاركة الأصلية كتبت بواسطة المحترف مشاهدة المشاركة
السلام عليكم
بارك الله فيك أخي نبيل علي هذا المجهود الكبير ..

اسمح لي بإضافة بسيطة علي موضوعك ..
اتشرف بدخولك الموضوع والإضافه عليه بالطبع :

لو تسمحلي بقى اكمل الموضوع واضيف اي حاجه :

الوقت احنا وقفنا عند كيفية اننا نعمل سكربت بسيط ويستعمل متغيرات الجهاز وطبعاً عرفنا اننا ممكن نعمل متغيرات من خلال استخدام :

كود:
 read
مثال :

كود:
 read name
كده هياخد متغير بالإسم اللي تحبه بعدها استخدمه ماكن ما تحب

ملحوظه ياجماعه انا بحب اعمل كده دايماً في سكربتاتي :

لما بتستعمل read بيقف على اول السطر وبيكون السطر فاضي وبصراحه مش بيعجبني شكلها انا عندي اضافه ممكن تعجب ناس وممكن ناس تقول عليها بايخه :

ممكن تستعملوا الطريه دي :

كود:
echo "please put your name ...!"

echo -n "Your Name is ==>"

read name
كده هتلاقي المحث مستنيك بعد كلمة :

كود:
 Your Name is ==>(_________)
بمعنى اصح مكان البروكبت هيكون في الحته دي (________

كده اعتقد الشكر هيكون احسن ولو ان كل واحد وراحته طبعاً ده ببعض الإقتباس من كلام الأخ حماده عشان كده مدخلتش في تفصيل قوي .

ممكن في طرق تانيه لعمل متغيرات ياجماعه ازاي بقى :

ممكن من خلال الطريقه دي :

كود:
 Variable=`cat /erc/redhat-release`
كده المتغير هيكون ايه اسم النسخه بتاعتك اللي شغال عليها

طبعاً نقطه مهمه جداً ان اي امر عايز نتيجته تكون متغير استعملها مع العلامه اللي على حرف الذال `

طيب نتكلم بقى عن اساسيات باش : وهي ازاي نستخدم الباش اصلاً :

هنقول ده في الرد الجاي بأمر الله بعد شويه بذن الله ،،،،،،
NabeeliumAttack متواجد حالياً   رد مع اقتباس
قديم 04-30-2009, 05:31 AM   #7 (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

الوقت ياجماعه سؤال مهم جداً هو احنا بنعرف نستعمل باش صح ولا بنستعملها كده اي كلام ؟

بالتأكيد كل واحد له نقاط قوه وليه نقاط ضعف مش شرط تكون ملم بكل حاجه ولا شرط انك تكون معاك كل الإختيارات ولا كل الأوبشنز المهم انك ساعه ما تحب تعمل حاجه تعرف تعملها وده المهم :

نخش في المفيد على طول :

الوقت عشان تعرف تعمل سكربتات لابد انك تعرف يعني ايه File Prossessing

يعني ايه الكلمه دي معناها ببساطه يعني ايه اني اعمل عمليات معالجه لملف او لنتيجة امر او لأي حاجه عشان اقدر اوظفها لإستخدامي الشخصي او في سكربتات او اي حاجه .

خد بالك باش سكربت ممكن تستخدم في كل حاجه بحسب درايتك انت وبحسب علمك وبحسب رغبتك :

اولاً نعرف بعض الحاجات الأساسيه عن باش وهي :

1- افرض عايز تنفذ امر ثم انفذ امر تاني ينفذ الأولاني وبعدين ينفذ التاني تعمل ايه ؟

كود:
 cat /etc/redhat-release && date
الأمر اللي فات ده هيوريك انت شغال على نسخة ايه وبعد كده هيطلعلك التاريخ والساعه وكده يعني .

او ممكن بردو تعمل نفس الكلام من خلال الأمر ده :

كود:
 cat /etc/redhat-release ; date
من خلال العلامه ; او && ممكن انك تنفذ الأمر ده والامر اللي وراه متتاليين

2- افرض عايز تنفذ امر والنتيجه بتاعته تستعملها في امر تاني :

كود:
 cat /etc/passwd | grep root
من خلال العلامه | ممكن تستخدم نتيجة الامر الاولاني في انك تستخدمها كمدخل للأمر التاني في الحاله اللي فاتت قلتله اعرض المستخدمين اللي عالسيستيم وبعد كده خد الملف ده كله واسحبلي منه بس المستخدم روت واعرضه على الشاشه

3- افرض انك عايز تنفذ الأمر ده او ده بمعنى لو الأولاني فشل نفذ التاني :

كود:
 cat /opt/file || cat /etc/passwd
الأمر ده هيجرب يعرض الملف الاولاني اللي اسمه /opt/file لو ملقاهوش هيعرض الملف اللي اسمه /etc/passwd

طبعاً في الحاله اللي فاتت دي هيطلع خطأ في الملف الاولاني لأنه مش موجود هنعرف الوقت نعمل ايه عشانم نشيل رسائل الخطأ يعني اه هيحصل خطأ بس مش هتيجي عالشاشه

طبعاً اي امر عايزتنفذه وتبتعه عالخلفيه background ويسيبلك البرومبت فاضي ممكن تكتب اي امر عادي وراه &

مثال :

كود:
 ls -R / &
خد بالك الأمر اللي فات ده لو طبقته هيعرضلك كل الملفات على جهازك خد بالك اكيد هيطول جداً وخد بالك كمان لأنك بتنفذه في الخلفيه يعني هو شغال وانت مش واخد بالك .

طيب ندخل في نقطه تانيه اللي هي :

* افرض اني عايز ادخل النتيجه دي في ملف معين بحيث الملف ده هستفيد منه بعد شويه او سكربت معين هسيتعمل الملف ده لأي سبب اياً كان الحل بسيط جداً :

اعمل الأمر اللي انا عايزه اياً كان حتى لو بكتب امر date

كود:
 date > /root/datefile
وبعد كده اعمله append او تطبيق على الملف اللي هو في المسار اللي مكتوب ده او غيره زي ما تحب

خد بالك من نقطه مهمه جداً لو نفذت الأمر اللي فات ده بإستعمال

كود:
>>
تفرق عن :

كود:
>
الفرق ان الأولى بيضيف بس الجديد على الملف لكن الملف لازم يكون موجود التانيه بيكتب من اول الملف حتى لو مكنش موجود بينشأه وبيبدأ يكتب جواه .

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

لو هتعمل ابند على ملف لازم تعرف مجموعة حاجات :

1- /dav/null لو عملت ابند على الملف ده كده هتحذف الأوتبوت او بمعنى اصح اللي هيتوجه على الملف ده ولا كأن له اي اثر بالتاكيد رسائل الخطأ هتتوجه على الملف ده

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

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

كود:
 date >/root/datefile 2>/dev/null
ده معناه انه هيحط التاريخ في الملف اللي اسمه /root/datefile ولو في اي رسالة خطأ يوجها على الملف null طبعاً ده كلام مجازي لأنه مش ممكن يديك رسالة خطأ في التاريخ

B- في حالة اني عايز رسائل الخطأ بس ومش عايز رسائل الأوتبوت للأمر ودي نادر جداً لما هتستعملها :

كود:
 date >/dev/null 2>/root/error_file
كده هتحط ملف الخطأ فقط في ملف اما النتيجة العاديه مي هتتحط في اي حته هتتحذف

C- لو مش عايز نتيجة الملف ده او ده تظهر خالص طبيعي جداً هنوجههم على ال null

كود:
 date >/dev/null 2>/dev/null
خد بالك دي هتستفيد منها قدام جداً هتفهمها قدام وهتستفيد منها جداً قدام

D- انك بقى تظهر نتيجة الأمر وتحطه في ملف ونتيجة الخطأ وتحطه في ملف وده وارد جداً وشائع جداً :

كود:
 date >/root/datefile 2>/root/error_file
كده حطيت ملف الخطأ في ملف وملف التاريخ في ملف اه ممكن ادمج الكل في ملف واحد بإني اوجه ال2 على نفس الملف من خلال الأمر التالي :

كود:
 date >/root/datefile 2>/root/datefile
بكده ممكن نحط كل النتيجة اللي بتطلع على الشاشه في ملف واحد ،،،

لازم كمان ناخد بالنا من اتجاه ال append لأن < تفرق عن > ده بيوجه على حاجه وده بيوجه على حاجه لازم تاخد بالك كويس جداً توجيهك على ايه ،،،

نكمل بعدين بأمر الله ،،، واللي عنده تعليق او اسئله او اضافات يتفضل مشكوراً ،،، وبلاش مشكور ،،،،،،

التعديل الأخير تم بواسطة NabeeliumAttack ; 04-30-2009 الساعة 05:33 AM
NabeeliumAttack متواجد حالياً   رد مع اقتباس
قديم 04-30-2009, 11:53 PM   #8 (permalink)
سيدة القصر
 
الصورة الرمزية درة القلوب
 
تاريخ التسجيل: Nov 2008
المشاركات: 541
افكر
معدل تقييم المستوى: 10
درة القلوب is a glorious beacon of lightدرة القلوب is a glorious beacon of lightدرة القلوب is a glorious beacon of lightدرة القلوب is a glorious beacon of lightدرة القلوب is a glorious beacon of lightدرة القلوب is a glorious beacon of light
افتراضي مشاركة: Bash Scripting

تسلم ايدك اخى الكريم على هذا المجهود الرائع
وتسلم ايدك اخى الغالى المحترف وشكلى كدا هتعلم
الباش بسرعة وباحتراف منكم
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
__________________
رفاق الدرب ما زلتم بقلب القلب أحبابا
وان غبتم وان غبنا فان الحب ما غابا
هى التقوى تجمعنا وحب الله قد طابا
رضا الرحمن غايتنا وللفردوس طلابا
درة القلوب متواجد حالياً   رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)


الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 

إخفاء / عرض قائمة من شاهد الموضوع عدد الأعضاء الذين شاهدوا هذا الموضوع : 9
, , , , , , ,
أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
مربعات الحوار الرسوميه في bash - Zenity NabeeliumAttack أصول برمجة 6 07-02-2009 05:28 PM
مربعات الحوار في الباش bash - dialog المحترف أصول برمجة 8 05-23-2009 12:09 AM
لديك عضو مفتقدة ادخل و اسئل عنه؟ ساموراى القمة أصول العام 7 03-28-2009 08:44 PM
فن ومهارة الردود ..مهم لأعضاء اصول بنت يافا بنت يافا 6 03-09-2009 01:22 AM
اسوأ - أفضل - أجمل .... ELKAPOS أصول العام 2 01-22-2006 11:36 PM


الساعة الآن 04:09 PM.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
منتديات أصول , الدولية , الدولية للحاسبات والانظمة
Trncat | ترنكات لخدمات الإنترنت المتقدمة   Trncat | ترنكات لخدمات الإنترنت المتقدمة