إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

درسين بسيطين كتبتهم في البرمجه بالشيل

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • درسين بسيطين كتبتهم في البرمجه بالشيل

    كنت كاتبهم في الويكي مش عارف غلط اني انقلهم ولا لا
    لو غلط احذفوه ولو مش غلط خير وبركه

    طبعلا كل الي احنا بنكتبه اسمها سكريبتات
    اولا نحن سوف نستخدم في البرمجه ال bash الي هو Bourne again shell "bash"
    اولا نبدا ببعض الاوامر
    echo اظن معروف للكل بيعمل print للجمله الي بتيجي بعديه
    نفذ الاتي

    nano storm.sh
    بعد مايفتح الملف اكتب الاتي

    كود:
    #bin/sh
    echo $PATH
    وبعدين اعمل ctrl+x من لوحة المفاتيح، احفط الملف واعطه تصريح تشغيل chmod +x واكتب ./storm
    لاحظ ايه الي طلعلك
    /bin/sh
    او /bin/bash تمام
    نبدا نفهم بقه احنا عملنا ايه
    اظن السطر الاول مفهوم nano storm.sh نانو مححر النصوص الجميل + اسم الملف + الامتداد sh وديت اساسي في كل شيل احنا بنكتبه
    ثانيا قاعده اساسايه في كل شيل تكتب السطر دهع #/bin/sh ده هو الي بيحدد مسار الوامر الي الشيل حينفذهالك او مسار الشيل الي الاسكريبت حيشتغل عليه
    وبعدين كتبنا echo $PATH ايكو عشان تعمل برنت PATH المتغير ده بيعمل عرض للمسار بتاع الشيل الي موجود في توزيعتك
    لاحظ ان حالة الحروف حساساه يعني storm مش زي STORM تمام
    نيجي بقي للمتغيرات اولا ياشباب تعريف المتيغرات بالنسبه للششيل مش زي السي يعني مش محتاجه تعريف انها حفيه او رقيمه لا التعريف بيتم كالاتي
    كود:
    a=5
    وعشان تستخدمها كل الي عليك تكتبها كده
    كود:
    $a
    يعني عايزين نطبعها ايه الي يحصل ؟؟؟

    كود:
    echo "a=$a"
    طبعا لاحظ ان حالة الحروف حساساه زي ماقولنا فوق
    اووك طيب شوف الاسكريبت ده
    كود:
    #!/bin/sh
    read $name
    echo "HELLE $name
    شوفت احنا عملنا ايه ؟؟؟
    طلبنا منه انه يقرء المتغير نايم يعني يسجل الي حيتقاله في المتغير دوت وبعدين طلبنا منه انه يقول اهلا يامتيغر طبعا المتغير هنا حيستبدل بقيمته الي الشغل الاسكريبت كتبها
    طيب بالنسبه للعميات الحسابيه
    انت عندك حاجتين
    كود:
    expr
    or
    كود:
    echo $[5+5]
    الاةلي كل الي عليك اكتب
    كود:
    expr 5+54
    التاينه زي امنت شايف استخدم الي علي مزاجك
    وشوف الاسكريبت ده
    كود:
    #!/bin/sh
    echo "first num"
    read num1
    echo "seconde num"
    read num2
    expr $num1+$num2
    echo "$[num1+num2]"
    مش محتاجه شرح مظبوط؟؟؟
    يارب يكون عجبكم وان شاء الله اكمله لان اليل برده في دورارت وفيه سويشتا وبركيات واوامر شرطيه ولاكم من ده
    انا مش بقالي فتره متعلمه يعني بس هو اهم حاجه في الاوامر وتكون ملم باوامر اللينكس ولذلك انا ماشي بالراحه فيه
    :002:
    كل سنه وانت طيبين +
    الموضوع الي عايز ينقل ينقل في اي حته بس لو سمحت وبعد اذنكم يحفذ حقوق الكاتب
    storm_man
    التعديل الأخير تم بواسطة St0rM-MaN; الساعة 30-12-2006, 09:04 PM.
    BOOOF , I AM GONE
    Still , you gotta wait for my PRESENT :D
    C programming arabic Tutorial|Programming-fr34ks

  • #2
    مكنتش ناوي اكت حاجه والله بس زي ماتقولوا زهقت من ال والدوران
    بس الحمد لله وصلت للنهايه هنا طبعا لف ودوران بفايده
    نيجي نخوش في ال while do done
    تفتتكر معناها ايه يعني حينما كذا افعل كذا وشكرا :thumbups:
    طيب انت عايز ايه يعني
    اقولك انا
    ايجي نعمل سكريبت يعد تنازلي وتصاعدي من رقم مدخل الي 10 مثلا
    يالا بينا
    كود:
    #!/bin/sh
    
    echo "ENTRE x"
    read x
    while test "$x" -le  "10"
    do
    echo "storm for the ${x}time"
    x=$[x+1]
    done
    في السطر الاول قولنا حط اكس في السطر التاني قرينا اكس في السطر الثالث استخدمنا وايل
    وتيست عشان تختبر الي حيجي بعيدها
    وحطينا المتغير اكس مابين علامتين تنصيص و-le ترمز الي اقل من عكس -ge اكبر من
    وبعدين قولناله نفذ الي مابين دو و دون الي هو الاتي
    حيقول ستورم للمره + المتغير اكس
    مش ملاحظ حاجه غريبه ${x} انا له استخدمتها كده؟؟
    لان بكل بساطه الشيل حساس منناحية الحروف
    اول مانت تقول $x time هو جيدور علي المتغير $x time الي هو مش موجود يبقي بالتالي مش حينفع
    ولذلك حطينا الاواس $ {the variable }
    تمام وقولناله زي الاسكريبت الي فات زود قيمة اكس واحد كل مره
    الي بيحصل في وايل كالاتي
    الشيل بيختبر الشرط وينفذ مابين الدو والدون ويرجع يختبر الشرط لو حقيقي يكمل ولو مش حقيقي يخرج:khaleje_happy:
    طبعا انا علي قدي + يتم الاستعانه ب rute في الشرح
    ورجاء خاص للاساتذه الاكير مني
    ان كان لك اضافه فلاتبخل علينا
    عيد سعيدcheers .
    :002:
    BOOOF , I AM GONE
    Still , you gotta wait for my PRESENT :D
    C programming arabic Tutorial|Programming-fr34ks

    تعليق


    • #3
      الدرس الثالث:
      حنتكلم دوقتي عن
      كود:
      if ;
      then
      
      else
      
      fi
      طبعا الامر الشرطي الشهير في كل لغات البرمجه وكلنا عارفينه اكيد
      شوف الاسريبت ده
      كود:
      #!/bin/sh
      if test -f /etc/passwd;
      then
      echo "IT WORKS!!"
      else
      echo "i dn0t nkow is this a computer or what where is you passwd file "
      fi
      شوفت الجديده ديت ؟؟؟
      ديت معنها اختبر الاتي
      لو كان الملف ده موجود او مش موجود
      كود:
      test -f /etc/passwd
      نشرح بقي اهم اوامر التيست ده
      كود:
      -le اقل من او يساوي
      -ge اكبر من او يساوي
      -eq يساوي 
      -gt اكبر من
      -lt اصغر من
      -ne اليساوي
      -nt اجدد من
      -ot اقدم من
      كود:
      -d موجود وهو فولدر
      -e الملف موجود
      -f الملف موجود ونوعه عادي
      -G الفبل موجود وجروب محدد يمكله
      -o موجود ويمكله شخض ب id محدد
      -w موجود ومسموح للكتابه
      -x موجود ومسموح للقراءة
      man test ليس اكتر وليس الا
      طيب بافتراض انت عايز عميله منطقيه واحده زي مثلا لو كده نذف كده ولو كده او نفذ كده
      شوف الاتي
      كود:
      test -f "/etc/passwd" && echo "it works!!"
      or
      كود:
      test -f  "/etc/passw" || echo "not such a file"
      ملاحظه الامرين دول بياخدوا امر واحد بعديهم بس
      يعني لو انت عايز تعمل كده + حاجه تاني يبقي تعمل الاتي
      كود:
      { echo "hi" ; echo "hi 2"; exit(0);}
      يالا اشوفكم علي خير في درس اخر
      #!/bin/sh
      echo " i L0V3 Y0U A11"
      BOOOF , I AM GONE
      Still , you gotta wait for my PRESENT :D
      C programming arabic Tutorial|Programming-fr34ks

      تعليق


      • #4
        الله عليك يا اخي st0rm
        بارك الله فيك دروس جميلة
        في انتظار المزيد من روائعك.
        تحياتي.
        .....

        تعليق


        • #5
          جزاك الله خير يا st0rm.
          كنت محتاج لهذا الشرح فلقد جاء في وقته .
          وهذه احدى ثمرات جهدك

          سكربت يقوم بعمل مونت لملفات الايزو.
          كود:
          #!/bin/sh
          echo "Enter path of iso. For ex (/home/myiso/game.iso)"
          read isoname
          echo "Enter path of mount iso. For ex (/media/iso)"
          read mountiso
          mount -o loop -t iso9660 $isoname $mountiso
          حيث يطلب من المستخدم ادخال مسار ملف الايزو ثم يطلب منه تعيين مكان قراءة الملف.:thumpsup_green: :thumpsup_green:

          تعليق


          • #6
            بارك الله فيك يا Storm Man

            La vie est complexe car nous avons tous une partie réelle et une partie imaginaire....

            تعليق


            • #7
              شرح رائع أخي شكرا على مجهودك و بالتوفيق و آتينا إن كان هناك مزيد إن شاء الله
              تحياتي




              تعليق


              • #8
                شكرا ياشباب علي الردود الجميله ديت
                وباذن الله حدمجها مع ال sed command series عشان تبقي احسن
                الف شكر
                BOOOF , I AM GONE
                Still , you gotta wait for my PRESENT :D
                C programming arabic Tutorial|Programming-fr34ks

                تعليق

                يعمل...
                X