مظرف كورن
المحتويات

تعريفًا بالموضوع، مظرف كورن أو كورن شل ( أو ksh)، هو مظرف يونكس طوره ديفيد كورن في مختبرات بل في أوائل الثمانينيات، وأُعلِنَ عنه في مؤتمر USENIX في 14 يوليو 1983. واستند التطوير الأولي إلى كود مصدر بورن شل. ومن المساهمين الأوائل مطورو مختبرات بل مايك فيتش وبات سوليفان، اللذان كتبا رمز أوضاع تحرير الأسطر بأسلوبي إيماكس وفي آي على التوالي. وكورن شل متوافق مع مظرف بورن ويشمل الكثير من ميزات سي شل، مستوحاة من طلبات مستعملي مختبرات بل. وتعرض الأقسام التالية جوانب أخرى من الموضوع.
الشركات المساهمة الرئيسية
- تُدرج الأسماء التالية بترتيب زمني تصاعدي تقريبي لمساهماتهم:
- مختبرات بل إيه تي أند تي
- إيه تي أند تي نظام شبكات عالمي
- مختبرات إيه تي أند تي
- Omnium Software Engineering
- شركة أوراكل
- جوجل
- ريد هات
المتغيرات
قراءات إضافية
- تُوجَد عدة تفرعات ونسخ من كورن شل:
- – تفرع من مُدرَج جزءًا من بيئة سطح المكتب المشتركة.
- – تفرع من يوفر الوصول إلى مجموعة أدوات تي كي الرسومية.
من جهة ثانية، – منفذ لينكس لمتغير أوبن بي إس دي من كورن شل، مع تغييرات طفيفة.
إضافةً إلى ذلك، MKS Korn shell لـ MKS Inc. – تطبيق احتكاري للغة كورن شل من خدمات مايكروسوفت ويندوز ليونكس (SFU) حتى الإصدار 2.0؛ حسب ديفيد كورن، لم تكن MKS Korn shell متوافقة تمامًا مع كورن شل في عام 1998. وفي إصدار SFU 3.0، استبدلت مايكروسوفت MKS Korn shell بمظرف جديد متوافق مع POSIX.2 جزءًا من إنتركس.
إضافةً إلى ذلك، – منفذ لمتغير أوبن بي إس دي من كورن شل، مخصص ليكون سهل النقل قدر الإمكان عبر أنظمة التشغيل. واُستخدِم بوصفه مظرفًا افتراضيًا في DeLi Linux 7.2.
في هذا الإطار، في حزمة System V لـ دوغ غوين (US Army BRL) على BSD تضمنت نسخة رون ناتالي من SVR2 التي كانت تحتوي على التحكم في المهام وتحرير سطر الأوامر. وكان هذا معاصرًا لـ الأصلي في وقت لم يكن قد خرج من AT&T. ثم أصبح هذا هو الذي شُحن مع جميع الأنظمة المستمدة من CMU Mach.
وفي السياق ذاته، – تطبيق حر للغة كورن شل، متفرع من أوبن بي إس دي . وطُوِّر في الأصل لـ MirOS BSD ومرخص بشروط متساهلة (وإن لم تكن من المجال العام)؛ تحديدًا، رخصة ميروس. وإلى جانب استخدامه على BSD، حل هذا المتغير محل على دبيان، وهو المظرف الافتراضي على أندرويد.
المراجع
وفي السياق ذاته، – متغير أميغا أو إس يوفر الكثير من الميزات الخاصة بـ أميغا، مثل قابلية التشغيل البيني مع أريكس. وفي هذا التقليد، يستعمل مورف أو إس في حزمة SDK الخاصة به.
كورن شل مُدرجة في UWIN، وهي حزمة توافق يونكس من ديفيد كورن.
بوير-مور
- سايتشوار فاشيشت (ريد هات)
- كيرتس رادر
- مستشار التكامل
- رولاند ماينتس
المساهمات الرئيسية في فرع البرنامج الرئيسي
من جانب آخر، لأغراض القوائم أدناه، يُعرف الفرع الرئيسي لكورن شل بأنه البرنامج الأصلي، بدءًا من يوليو 1983، وحتى إصدار KSH2020 في أواخر عام 2019. وقد انقسم التطوير المستمر لإصدارات كورن شل اللاحقة (الفروع) إلى مجموعات مختلفة ابتداءً من عام 2020 ولم تُفصل أدناه.
المساهمون الأفراد الرئيسيون
- تُدرج الأسماء التالية بترتيب زمني تصاعدي تقريبي لمساهماتهم:
- ديفيد جي كورن (مختبرات بل إيه تي أند تي، مختبرات إيه تي أند تي، وجوجل؛ والمؤسس)
- غلين إس. فاولر (مختبرات بل إيه تي أند تي، مختبرات إيه تي أند تي)
- كيم-فونغ فو (مختبرات بل إيه تي أند تي، مختبرات إيه تي أند تي)
- آدم إدغار (مختبرات بل إيه تي أند تي)
- مايكل تي. فيتش (مختبرات بل إيه تي أند تي)
- باتريك دي. سوليفان (مختبرات بل إيه تي أند تي)
- ماتيس إن. ميلكيور (إيه تي أند تي نظام شبكات عالمي)
- كارستن-فلايشر (Omnium Software Engineering)
التاريخ
في هذا الإطار، أصبحت كورن شل الأصلية، ، المظرف الافتراضي على إيه آي إكس في الإصدار 4، مع توفر ksh93 بشكل منفصل. ويشتمل يونكس وير 7 (UnixWare 7) كذلك على عند تثبيت بيئة سطح المكتب المشتركة.
من جانب آخر، وعقب المشكلات التي واجهها فرع ksh2020 وهجره، أُنشئ مستودع جديد في مايو 2020 لفرع ksh93u+m، استنادًا إلى آخر إصدار مستقر من AT&T (ksh93u+ بتاريخ 2012-08-01) حيث يستمر تطوير إصلاحات الأخطاء بنشاط.
في هذا الإطار، وُزِعَت كورن شل في البداية جزءًا من AT&T's Experimental Toolchest في عام 1986، وأُدرجت لاحقًا في الإصدار الرابع من نظام يونكس الخامس في عام 1989.
من جانب آخر، ولا يزال بعض البائعين يُشحنون إصداراتهم الخاصة من متغير الأقدم، أحيانًا مع امتدادات. ويُصان على غيت هاب.
وفي هذا الصدد، مر توزيع ksh93 بمصير أقل استقرارًا بعد أن ترك المؤلفون AT&T نحو عام 2012 عند الإصدار المستقر ksh93u+. وواصل المؤلفون الأساسيون العمل على فرع ksh93v- التجريبي حتى قرابة عام 2014. وتولى ريد هات هذا العمل في المقام الأول في عام 2017 (بسبب طلبات العملاء) وأدى إلى الإصدار الأولي لـ ksh2020 في خريف عام 2019. وقد أحدث هذا الإصدار الأولي (على الرغم من إصلاح الكثير من مشكلات الاستقرار السابقة) بعض الأعطال ومشكلات التوافق. وفي مارس 2020، قررت AT&T التراجع عن تغييرات المجتمع، وتخزينها في فرع، والبدء من ksh93u+، حيث كانت التغييرات واسعة جدًا ومرتكزة على ksh بشكل مبالغ فيه لكي تستوعبها الشركة في مشروع في وضع الصيانة. وصدر ksh2020 بوصفه "إصدارًا رئيسيًا لعدة أسباب" مثل إزالة دعم كود التبادل الموسع للترميز العشري الثنائي، وإسقاط دعم المكونات الإضافية الثنائية المكتوبة لـ ksh93u+ وإزالة بعض دوال الرياضيات المعطلة، لكن لم تُصنه AT&T أو تدعمه قط (ولا حتى في تاريخ إصداره الأولي). ولم يتلق كود مصدر ksh2020 أي التزامات منذ فبراير 2020، وأُرشف للقراءة فقط في أكتوبر 2021.
ومن جهة أخرى، اُستخدِمت وظائف كورن شل الأصلية، ، أساسًا لمعيار بوزيكس.2، مظرف وأدوات، مترجم الأوامر (IEEE Std 1003.2-1992).
علاوةً على ذلك، بوصفها "Desktop KornShell" ، تُوزَّع جزءًا من بيئة سطح المكتب المشتركة. ويوفر هذا الإصدار كذلك تعيينات على مستوى مظرف لأدوات موتيف الرسومية. وكان مخصصًا كمنافس لـ تي سي إل/تي كي.
وفي هذا السياق، كانت كورن شل في الأصل برمجية محتكرة. وفي سنة 2000، صدر الكود المصدري برخصة خاصة بـ AT&T، ولكن منذ إصدار ksh93q في أوائل عام 2005، رُخصت بموجب رخصة إكليبس العمومية. وكورن شل متاحة جزءًا من مجموعة برمجيات AT&T Software Technology (AST) مفتوحة المصدر. وبما أن كورن شل كانت متاحة في البداية فقط عبر رخصة احتكارية من AT&T، أُنشئ عدد من البدائل الحرة ومفتوحة المصدر. وتشمل هذه البدائل ، و، وباش، وزي شل.
موارد الشركات المتبرع بها
- كوفيرتي
- غيت هاب
- ترافيس سي
علاوةً على ذلك، إلى جانب الشركات المساهمة الرئيسية المذكورة أعلاه، ساهمت بعض الشركات بموارد مجانية في تطوير كورن شل. وتُدرج أدناه (مرتبة أبجديًا):
حلقات و مُحسَّنة موجهة نحو التعبير
في هذا الإطار، قابلية التوسع الديناميكي للأوامر المضمنة (المُحمّلة ديناميكيًا) (منذ )
متغيرات مرجعية
الميزات
وفي هذا السياق، يتوافق كورن شل مع بوزيكس.2، مظرف وأدوات، مترجم الأوامر (IEEE Std 1003.2-1992). وتشمل الاختلافات الرئيسية بين كورن شل ومظرف بورن التقليدية:
وفي السياق ذاته، التحكم في المهام، والأسماء المستعارة للأوامر، وتاريخ الأوامر المُصمم بعد ميزات سي شل المقابلة؛ أُضيف التحكم في المهام إلى مظرف بورن في عام 1989.
- البحث الديناميكي عن الوظائف
- الدوال الرياضية
- استبدال العمليات وإعادة توجيه العمليات
- تعابير شبيهة بلغة سي
ومن جهة أخرى، اختيار ثلاثة أنماط لتحرير سطر الأوامر تستند إلى في آي، وإيماكس، وجوسلينغ إيماكس
ومن ناحية أخرى، المصفوفات الترابطية وعمليات الحسابات ذات الفاصلة العائمة المضمنة (متوفرة فقط في إصدار من كورن شل)
متغيرات متداخلة هرميًا
- المتغيرات يمكن أن تكون لها دوال عضوية مرتبطة بها
- البرمجة كائنية التوجه (منذ )
- المتغيرات يمكن أن تكون كائنات ذات متغيرات عضوية (فرعية) ودوال عضوية
- تُستدعى دوال الكائنات باسم متغير الكائن متبوعًا (بعد نقطة) باسم الدالة
- تُستدعى دوال الكائنات الخاصة عند: تهيئة الكائن أو تعيينه، وإلغاء الكائن
- التكوين والتجميع متاحان، فضلًا عن شكل من أشكال الوراثة
📝 هل في هذه المقالة خطأ؟
إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.
ما رأيك في هذه المقالة؟