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

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

سؤال في Fork in shell script فيه خطأ ماعرفته

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

  • سؤال في Fork in shell script فيه خطأ ماعرفته

    السلام عليكم

    اخواني انا المطلوب مني اعمل run لبرنامجين واحد هو parent والثاني هو child

    بحيث عند تنفيذ parent راح ينفذchild معه


    لكن عند عمل run ظهرت مشكله

    هذا هو الكود
    كود:
    echo Starting the parent process script
    echo About to create a child process
    
    ( child.sh; ) &
    
    echo Entering the parent loop
    a=0
    while [ $a -ne 10 ]
    do
            echo parent: $a
            a=$[$a + 1]
            # Force the process to sleep for one second
            sleep 1
    done
    echo Exiting the parent loop
    هذا parent وظهر الخطأ ( child.sh; ) &<<<هنا يقول ان child.sh not found وانا متأكده من وجوده

    والخطأ الثاني هنا a=0

    يقول ان d0 not found

    وهذا كود child

    كود:
    echo Starting the child process script
    echo Entering the child loop
    
    a=0
    while [ $a -ne 10 ]
    do
            echo child: $a
            a=$[$a + 1]
            # Force the process to sleep for one second
            sleep 1
    done
    echo Exiting the child loop
    تحياتي

  • #2
    parent
    كود:
    #!/bin/bash
    
    echo "Starting the parent process script"
    echo "About to create a child process"
    
    bash ./child.sh &
    
    echo "Entering the parent loop"
    a=0
    while [ $a -ne 10 ]
    do
            echo "parent: " $a
            a=$[a + 1]
            # Force the process to sleep for one second
            sleep 1
    done
    echo "Exiting the parent loop"
    child
    كود:
    #!/bin/bash
    
    
    echo "Starting the child process script"
    echo "Entering the child loop"
    
    a=0
    while [ $a -ne 10 ]; do
            echo "child: " $a
            a=$[a + 1]
            # Force the process to sleep for one second
            sleep 1
    done
    
    echo "Exiting the child loop"
    موقع وثائق لينوكس العربية
    موقع مختص بتوثيق لينكس

    ((شاركنا بمواضيعك، أفكارك، إقتراحاتك، ومساعدتك لنا هي أساس إستمرارنا ... فلا تبخل علينا بما لديك ولو كان بنظرك قليل، فهو بنظرنا الكثير))





    تعليق


    • #3
      ]يسلمووو اخوي على التواصل

      بس للاسف الخطأ ماتغير

      وهذا هو نصا مثل مايطلع لي بعد مااكتب امر التنفيذ ./parent.sh

      كود:
      Starting the parent process script
       About to create a child process
      Entering the parent loop
       Starting the child process script
       Entering the child loop
      
      ./chiled.sh:line 8:[0:command not found]
      Exiting the child loop
      ./parent.sh:line 18: [0:command not found]
      Exiting the parent loop


      وش مشكلته

      تعليق


      • #4
        الكود شغال سليم و بيعطي ناتج كامل لل9 محاولات المطلوبة.

        تحققي من طريقة الكتابة وفي المرفقات الاكواد على صيغة txt ونفذي الكود و انتي root .
        الملفات المرفقة
        V.I.P

        (وَاصْبِرْ فَإِنَّ اللَّهَ لَا يُضِيعُ أَجْرَ الْمُحْسِنِينَ)
        هود 115

        Linux is user-friendly, but it happens to be selective about its friends

        "احذر أن تكون مثل البقية تأخذ وﻻتعطي ، فلن يكون هناك مصادر تعليمية على الشبكة، ﻻأكثر الله من أمثالهم"


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


        تعليق


        • #5
          السلام عليكم ... أختي الكود شغال كما قال الأخ سامر ...
          وأليك الناتج:

          كود:
          [email protected]:~# ./parent.sh
          Starting the parent process script
          About to create a child process
          Entering the parent loop
          parent:  0
          Starting the child process script
          Entering the child loop
          child:  0
          parent:  1
          child:  1
          parent:  2
          child:  2
          parent:  3
          child:  3
          parent:  4
          child:  4
          parent:  5
          child:  5
          parent:  6
          child:  6
          parent:  7
          child:  7
          parent:  8
          child:  8
          parent:  9
          child:  9
          Exiting the parent loop
          Exiting the child loop

          أليس هذا هو الناتج المنتظر ؟ بالتوفيق وفكرة جميلة صراحة
          إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

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

          [ مواقع مفيدة: أروع موقع القرآن الكريم |مدونتي |Twitter |نظام طارق ]

          تعليق


          • #6
            أها وجدت المشكلة ... قمت بتخريب الكود عندي في السطر الذي ظهرت فيه مشكلتك وكانت النتيجة بالضبط مثل مشكلتك ... تأكدي من وجود فراغات في سطر الــ Loop

            كالتالي:

            كود:
            while [[COLOR="Red"]_[/COLOR]$a[COLOR="Red"]_[/COLOR]-ne[COLOR="Red"]_[/COLOR]10[COLOR="Red"]_ [/COLOR]]

            الإشارة _ والتي هي باللون الأحمر تعني وجود فراغ هناك ... لو لم يتم وضع فراغ ستظهر نفس مشكلتك ... تأكدي من وجودها
            التعديل الأخير تم بواسطة سامر حداد; الساعة 27-10-2007, 12:46 PM. سبب آخر: لوضع الكود بين CODE Tag
            إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

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

            [ مواقع مفيدة: أروع موقع القرآن الكريم |مدونتي |Twitter |نظام طارق ]

            تعليق


            • #7
              طالما انت تحاولي تنفيذه باستخدام ./ ، لازم تعطيه صلاحيات التنفيذ اصلا.
              نفذي:

              كود:
              chmod +x parent.sh
              chmod +x child.sh
              بعدها:

              كود:
              ./parent.sh
              موقع وثائق لينوكس العربية
              موقع مختص بتوثيق لينكس

              ((شاركنا بمواضيعك، أفكارك، إقتراحاتك، ومساعدتك لنا هي أساس إستمرارنا ... فلا تبخل علينا بما لديك ولو كان بنظرك قليل، فهو بنظرنا الكثير))





              تعليق


              • #8
                المشاركة الأصلية بواسطة مسلم عادل مشاهدة المشاركة
                طالما انت تحاولي تنفيذه باستخدام ./ ، لازم تعطيه صلاحيات التنفيذ اصلا.
                نفذي:

                كود:
                chmod +x parent.sh
                chmod +x child.sh
                بعدها:

                كود:
                ./parent.sh
                بس يا مسلم ما دام طلع معاها ناتج الأوامر echo معناتو الصلاحيات مزبوطة...يبدو انه المشكلة فقط syntax error بعبارة while زي ما حكا ابو محمد..
                V.I.P

                (وَاصْبِرْ فَإِنَّ اللَّهَ لَا يُضِيعُ أَجْرَ الْمُحْسِنِينَ)
                هود 115

                Linux is user-friendly, but it happens to be selective about its friends

                "احذر أن تكون مثل البقية تأخذ وﻻتعطي ، فلن يكون هناك مصادر تعليمية على الشبكة، ﻻأكثر الله من أمثالهم"


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


                تعليق


                • #9
                  يسلموووووو كثييييييييير على تواصلكم معي

                  بجرب مره ثانيه بصلاحيه root وبتعديل جمله while

                  وان شاء الله يضبط

                  تعليق


                  • #10
                    الحمدلله ضبببببببببببببط

                    الف الف الف الف شكر لك

                    من جد لساني يعجز عن شكركم

                    يعطيكم الف عافيه وربي يجزاكم الف خير

                    تعليق


                    • #11
                      استفدت من الموضوع فحبيت اضع بصمتي
                      يعطيكم الف عافيه على الحلول
                      انا كان عندي نفس المشكله وانحلت باستبدال صيغه المناداه
                      من
                      كود:
                      ( child.sh ) &
                      إلى
                      كود:
                      bash ./child.sh &

                      تعليق

                      يعمل...
                      X