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

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

ايجابيات وسلبيات للشال sh* لينوكس و ويندوس ps

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

  • [نقاش] ايجابيات وسلبيات للشال sh* لينوكس و ويندوس ps

    هذه اول مشاركة لى فى المنتدى وارجو ان لا تكون الاخيرة

    انا حقيقة قادم من عالم WINDOWS ولى تجربة بسيطة فى SHELL WINDOWS المسمى CMD.EXE وهو حقيقة SHELL بسيط ولا يقارن ب SHELL *NUX ولكن فى السنوات الاخيرة وخاصة السنتين الاخيرتين صدرت النسخة الثانية للا SHELL الجديد ل WINDOWS

    اذن مولود جديد اسمه POWERSHELL 2 واقولها صراحة لقد ابهرنى فقد جمع بين القوة والمرونة
    فقد اخذ من SHELL *NUX المرونة ومنا. NET FRAMEWORK القوة فهو الشال الوحيد اللذى يتميز بكونه شال OBJET
    عكس SHELL *NUX فهي تعتبر CHAINE اي انها تتعامل مع نصوص وحوف وليس مع كوائن مجردة
    فمثلا ال AWK او SED او GREP هي مجرد ادوات تمكننا من التعامل مع سلاسل حرفية CHAINE DE CARACTERES فتصبح الصعوبة فى كيفية تحويل او استخراج سلسلة حرفية الى سلسلة حرفية اخرى
    وهنا يتفق SHELL *UNX مع نضيره CMD.EXE فكلاهما SHELL نصى و ايضا كلاهما يختلفان مع POWERSHELL لكونه SHELL كائنى اي انه يتعامل مع كل شيء بانه كائن فالملف كائن والمجلد كائن و السلسلة الحرفية كائن الخ
    هذا مثال:

    كود:
    distrib$debian&$  cat ./file
    Powershell c:\> get-content ./file
    سطر الاوامر الاول فى لينوكس نستعمل هنا الامر CAT النتيجة هي اظهار محتوى الملف كمجموعة سلسلة نصية فقط بينما فى سطر الاوامر الثانى POWERSHELL نستعمل CMDLET تشبه الامر CAT وهى GET-CONTENT وهنا الجديد !! POWERSHELL سيضع كل الملف داخل مصفوفة وتبعا لذلك تصير مثل هذا لكود ممكن
    كود:
    $(get-content .\0.vbs)[0].split(" ")[1].toupper()
    هذه نبذة بسيطة اردت من خلالها بداية نقاش حول مقارنة جادة حول كلا الشالين

  • #2
    شل سكربت مجرد البداية في عالم جنولينكس ، بيرل و بايثون و روبي للمهام الصعبة
    وادي التقنية ، أخبار جنولينكس و المصادر الحرة باستمرار .

    تابعني على جوجل+ من هنا

    تعليق


    • #3
      شكرا اخى زايد السعيدي على الرد

      نعم perl python ..etc هم للمهام الصعبة ولكنهم ليسوا shell pur بالرغم من كونهم لهم خاصية التنفيذ من خلال سطر الاوامر
      ولكن موضوع النقاش هو فى ال pur shell اى bash ksh csh ..etc وpowershell
      اي shell تستعمل وما هي نقاط قوته و سلبياته وما رؤيك فى powershell

      تعليق


      • #4
        المشاركة الأصلية بواسطة walid2mi مشاهدة المشاركة
        شكرا اخى زايد السعيدي على الرد

        نعم perl python ..etc هم للمهام الصعبة ولكنهم ليسوا shell pur بالرغم من كونهم لهم خاصية التنفيذ من خلال سطر الاوامر
        ولكن موضوع النقاش هو فى ال pur shell اى bash ksh csh ..etc وpowershell
        اي shell تستعمل وما هي نقاط قوته و سلبياته وما رؤيك فى powershell
        الباور شل استغل الدوت نيت وكذلك سطر الاوامر استغل البيرل والبايثون ويمكنك توجيه كل ما تريد عبر البايب للشل مرة اخري

        اما عما اراه لباور شل
        فهو كسائر المنتوجات التي تنتجها مايكروسوفت في عصر ستيف بالمر لا يعرفه احد الي ان يختفي :D
        بالاحصاء كم وجدت شخصاً يجيد الباور شل مقارنة بال BASH او ZSH او C-Shell ؟
        بالاحصاء كم نسبه الاجهزة التي تستخدم في السيرفرات وتعتمد باور شل مقارنة بال BASH ?
        الارقام هنا تتكلم فصدقني اكثر من ثلاثة ارباع مديري سيرفرات وندوز لا يحبون شكل سطر الاوامر من الاساس ولذلك لم يتجهوا لللينوكس او يونيكس بل فقط بقوا علي وندوز

        تعليق


        • #5
          مرحبا بك أخي معنا في المنتدى أرجو أن تفيد وتستفيد...

          بالنسبة لموضوع النقاش فلا يمكنني الخوض فيه لأنه لم يسبق لي التعامل مع PowerShell، لكن أردت أن أنوه أن Linux shell ليس واحدا بل يوجد bash و zsh و csh و ksh وغيرها
          وذلك الذي يأتي إفتراضيا في التوزيعات والمتبنى من قبل غنو هو Bash

          إليك مقارنة بينها من مجلة Linux Magazine على شكل PDF، هنا

          بالتوفيق

          تعليق


          • #6
            السلام عليك اخى محمد نجم

            الباور شل استغل الدوت نيت وكذلك سطر الاوامر استغل البيرل والبايثون ويمكنك توجيه كل ما تريد عبر البايب للشل مرة اخري

            طبعا نقدر ان نوجه اكواد PERL من خلال ال PIPE ولكن نفس هذه الخاصية ال PIPE موجودة فى POWERSHELL
            اضافة الى ذلك ان مدخلات الاوامر وم خرجاتها فى POWERSHELL هي كوائن مما سيسهل التحكم فى البيانات من خلال مجموعة من FUNCTION BUIT-IN و PROPERTIES

            طبعا سطر الاوامر استغل البيرل و البيثان ولكن الا ترى فى هذا نوعا من عدم الثقة فى SHELL كون المبرمجين يستغلون لغات متكاملة كالبيثان لوضعه ك PIPE او كون المبرمجين لا يستعملون 100% SHELL PUR اليس هذا اسنقاص لل SHELL
            اما POWERSHELL فهو بني على .NET فهو ليس بحاجة الى لغة اقوى لوضعها ك PIPE ف اوامره تكفيه اضافة الى قدرته لعالية على تبنى لغات اخرى داخل الكود نفسه من خلال CMDLET ADD-TYPE التى تمكن مطورى البرامج من استعمال C# مثلا او WPF او VB.NET ..ET C

            اما عما اراه لباور شل
            فهو كسائر المنتوجات التي تنتجها مايكروسوفت في عسر ستيف بالمر لا يعرفه احد الي ان يختفي
            بالاحصاء كم وجدت شخصاً يجيد الباور شل مقارنة بال BASH او ZSH او C-Shell ؟

            POWERSHELL جديد فلنعطه الفرصة كما اعطينا PYTHON اضافة الى ذلك مجتمع COMMUNITY POWERSHELL فى نماء كل يوم والكتب حول POWERSHELL بالعشرات وهي كتب متكاملة
            انا لا ادافع عن POWERSHELL ولكن اريد ان نعطى كل حق حقه من خلال نقاط القوة والضعف لكل SHELL فمثلا على سبيل الذكر ولا الحصر EXCNAGE2010 له TERMINAL خاص بال POWERSHELL حتى التحكم عن بعد اصبح سهل للغاية من خلال CMDLET مثل ENTER-PSSESSION و EXIT-PSSESSION و NEW-PSSESSION ..ETC فالتحكم عن بعد سهل مهام ADMINISTRATOR كثيرا واصبح بامكانه ومن خلال SECURE CONNEXION القيام بمهامه

            بالاحصاء كم نسبه الاجهزة التي تستخدم في السيرفرات وتعتمد باور شل مقارنة بال BASH ?
            الارقام هنا تتكلم فصدقني اكثر من ثلاثة ارباع مديري سيرفرات وندوز لا يحبون شكل سطر الاوامر من الاساس ولذلك لم يتجهوا لللينوكس او يونيكس بل فقط بقوا علي وندوز
            ال BASH له تا ريخه وهو مستعمل فى WINDOWS من خلال CYGWIN ولكن صدقنى اخى العزيز لا اتحدث من المنضور العربى ولكن عالميا اصبح POWERSHELL الصديق المدلل لل ADMINISTRATOR

            ليس هذا فحسب فبامكان POWERSHELL ان يتحكم فى اي نضام *NUX من خلال ال PROTOCOL winrm
            اسف للتاخير على الرد فال keyboard معطل واستعمل للكتابة http://www.ibbhath.com/

            تعليق


            • #7
              مرحبا بك يا صديقي ونتمنى ان لا تكون مساهمتك الأخيرة ;(
              في الحقيقة ليست لي أية فكرة عن "powershell" ومدى إمكانياته بالمقارنة مع "bash shell" ولكن بالنسبة لطرحك:
              ! Powershell سيضع كل الملف داخل مصفوفة وتبعا لذلك تصير مثل هذا لكود ممكن
              ففعل نفس الشيء ممكن )إن لم تخني ذاكرتي( مع الباش كالتالي:
              كود PHP:
              array=($(<text)) # text file into array
              echo ${array[0]} # diplay the first element
              ... 
              هذا طبعا ليس إفتراضيا وليس أنيقا كما تفعله get-content ولكنه يعمل. وأعتقد أن بيرل )إمتداد الباش( هي لغة سيدة في مجال معالجة النصوص وبها إمكانيات اكثر تقدما. ولكن بالنسبة لإدارة أنظمة *يكس فلا أدري من له الأفضلية.
              من الخلال الكود الذي وضعته لاحظت أن طريقة الكتابة syntax في POWERSHELL تشبه كثيرا روبي في الطرق methods. هل أنا مخطئ ؟

              ولكن حتى إن تجاوز "powershell" إمكانيات الباش فأظن ان عملية تجسيده implementation ستكون ممكنة على منصات لينوكس، لذلك فلا أرى ضيرا من تعلمه.

              تعليق


              • #8
                فمثلا ال AWK او SED او GREP هي مجرد ادوات تمكننا من التعامل مع سلاسل حرفية CHAINE DE CARACTERES فتصبح الصعوبة فى كيفية تحويل او استخراج سلسلة حرفية الى سلسلة حرفية اخرى
                ان كنت تقصد كيفية تمرير هذه السلاسل من برنامج الى اخر(مثلا من grep الى sed) فالامر ليس صعبا، يكفيي استعمال | مثال:
                كود:
                fgrep url file.txt | sed -e 's/http/https/'
                لكن هذا الشيء ومهام الشل أشياء كثيرة، وليس من المعقول الحكم عليهما من خلال مقارنة او ذكر ميزة واحد، بالامر أكثر تعقيدا وانا عن نفسي لا يمكنني المقارنة ببساطة لأن الامر ليس بهذه السهول
                وكما قال الاخوة هنالك عدة شلات لعل افضلها هو zsh

                تعليق


                • #9
                  السلام عليكم اخى أمين روخ

                  هذا ما قلته مقارنة بين shell *nux ونضيرتها powershell اخى ما هو الشل الذى تستعمله وماهي عيوبه و ايجاياته

                  تعليق


                  • #10
                    السلام عليكم اخى Albakry السلام عليكم اخى boussouira

                    @Albakry طبعا توجد المصفوفات فى بعض الشالات ولكن هذه ليست كوائن بل بيانات متمثلة فى سلاسل حرفية
                    @boussuira نفس الشيء AWK SED GREP CUT وغيرها تبقى ادوات للتحكم فى سلاسل نصية

                    اضافة الى ذلك انا لا اقارن بين الشالات المختلفة بل ابحث عن الماخذ والايجابيات لكل شال

                    تعليق


                    • #11
                      ولكن هذه ليست كوائن بل بيانات متمثلة فى سلاسل حرفي
                      عفوا لم أفهم هل array ليست من المتغيرات variable ؟
                      هذا ما قلته مقارنة بين shell *nux ونضيرتها powershell اخى ما هو الشل الذى تستعمله وماهي عيوبه و ايجايات
                      Comparison of command shells

                      تعليق


                      • #12
                        للالغاء

                        تعليق


                        • #13
                          هذا مثال توضيحى ومبسط
                          كود:
                          PS D:\> $a = 12,542,55,855,145
                          PS D:\> $a.Count
                          5
                          PS D:\> $a.GetType()
                          
                          IsPublic IsSerial Name                                     BaseType
                          -------- -------- ----                                     --------
                          True     True     Object[]                                 System.Array
                          
                          
                          PS D:\> [int]$a
                          [COLOR=Red]Impossible de convertir la valeur « System.Object[] »  du type « System.Object[] » en type « System.Int32 ».
                          Au niveau de ligne : 1 Caractère : 8
                          + [int]$a <<<<
                              + CategoryInfo          : NotSpecified: (:) [],  RuntimeException
                              + FullyQualifiedErrorId : RuntimeException[/COLOR]
                          
                          PS D:\> [int]$b = "hello","walid",215
                          [COLOR=Red]Impossible de convertir la valeur « System.Object[] » du type «  System.Object[] » en type « System.Int32 ».
                          Au niveau de ligne : 1 Caractère : 8
                          + [int]$b <<<<  = "hello","walid",215
                              + CategoryInfo          : MetadataError: (:) [],  ArgumentTransformationMetadataException
                              + FullyQualifiedErrorId : RuntimeException
                          [/COLOR] 
                          PS D:\>

                          تعليق


                          • #14
                            المشاركة الأصلية بواسطة walid2mi مشاهدة المشاركة
                            هذا مثال توضيحى ومبسط
                            كود:
                            PS D:\> $a = 12,542,55,855,145
                            PS D:\> $a.Count
                            5
                            PS D:\> $a.GetType()
                            
                            IsPublic IsSerial Name                                     BaseType
                            -------- -------- ----                                     --------
                            True     True     Object[]                                 System.Array
                            
                            
                            PS D:\> [int]$a
                            [COLOR=Red]Impossible de convertir la valeur « System.Object[] »  du type « System.Object[] » en type « System.Int32 ».
                            Au niveau de ligne : 1 Caractère : 8
                            + [int]$a <<<<
                                + CategoryInfo          : NotSpecified: (:) [],  RuntimeException
                                + FullyQualifiedErrorId : RuntimeException[/COLOR]
                            
                            PS D:\> [int]$b = "hello","walid",215
                            [COLOR=Red]Impossible de convertir la valeur « System.Object[] » du type «  System.Object[] » en type « System.Int32 ».
                            Au niveau de ligne : 1 Caractère : 8
                            + [int]$b <<<<  = "hello","walid",215
                                + CategoryInfo          : MetadataError: (:) [],  ArgumentTransformationMetadataException
                                + FullyQualifiedErrorId : RuntimeException
                            [/COLOR] 
                            PS D:\>
                            فهمت ما تقصد الآن
                            انت تحاول ان تيقيم المقارنة بين اسلوبين
                            كمن يقارن بين c++و c بالضبط
                            توقعي ان هذا النقاش لن ينتهي وسيكون ممتعاً في حين دخول بعض الافراد
                            ساحضر الفشار والمياة الغازية من الآن

                            تعليق


                            • #15
                              الى حين اثراء هذا الموضوع بباقى الافراد ساذهب للغذاء مع قيلولة قصيرة لاني لم انم البارحة

                              تعليق

                              يعمل...
                              X