Z shell
Z shell ( Zsh ) هو غلاف ومفسر سطر أوامر لبرامج الغلاف النصية . يحافظ Zsh في الغالب على بنية وسلوك Bourne shell ، ولكنه في تكوينه الافتراضي ينحرف في بعض النواحي المهمة عن مواصفات معيار POSIXsh للغة (مثل إزالة تقسيم IFS الضمني والتوسيع العام عند توسيع المعلمات غير المقتبسة) ويضيف ميزات أكثر بكثير.
تم إنشاء Zsh بواسطة بول فالستاد في عام 1990 عندما كان طالبًا في جامعة برينستون . وهو يجمع بين ميزات من كل من ksh و tcsh (و rc بدرجة أقل)، ويقدم وظائف مثل إكمال سطر الأوامر القابل للبرمجة ، وتوسيع نطاق أسماء الملفات ، وتحسين معالجة المتغيرات/المصفوفات، وإمكانية تخصيص مظهر المطالبات .
يتوفر Zsh لمعظم أنظمة التشغيل POSIX/Unix، بالإضافة إلى نظام التشغيل Microsoft Windows كجزء من Cygwin أو مجموعة UnxUtils ، وقد اعتُمد كواجهة سطر الأوامر التفاعلية الافتراضية لأنظمة macOS و Deepin و TrueNAS و Kali Linux . يوفر موقع مجتمع مستخدمي "Oh My Zsh" منصةً للملحقات والقوالب الخارجية، ويضم قاعدةً كبيرةً ونشطةً من المساهمين.
تاريخ
كتب بول فالستاد النسخة الأولى من Zsh عام 1990 [ 5 ] أثناء دراسته في جامعة برينستون . [ 6 ] اسم Zsh مشتق من اسم تشونغ شاو، وهو مساعد تدريس في جامعة برينستون. اعتبر فالستاد اسم تسجيل دخول شاو ، "zsh"، اسمًا مناسبًا لواجهة سطر الأوامر. [ 7 ] [ 8 ]
كان الهدف من Zsh في البداية أن يكون مجموعة فرعية من csh لجهاز Amiga ، لكنه توسع ليشمل جوانب أخرى كثيرة. وبحلول وقت إصدار النسخة 1.0 في عام 1990، كان الهدف هو أن يكون مزيجًا بين ksh وtcsh - لغة أوامر وبرمجة قوية مصممة جيدًا ومنطقية (مثل ksh)، ولكنها مصممة أيضًا لتكون سهلة الاستخدام (مثل tcsh)، مع جميع الميزات الرائعة مثل التدقيق الإملائي، ومراقبة تسجيل الدخول/الخروج، ودعم termcap التي كانت "ربما غريبة جدًا بحيث لا يمكن استخدامها في منتج لشركة AT&T". [ 9 ]
تتوفر نسخ Zsh لأنظمة مايكروسوفت ويندوز عبر Cygwin منذ عام 1997 تقريبًا [ 10 ] ، ويُقدم Zsh كحزمة رسمية ضمن Cygwin [ 11 ] منذ عام 2002. [ 12 ] [ 13 ] كما يتوفر أيضًا كجزء من مجموعة UnxUtils التي تضم نسخ Win32 أصلية لأدوات GNU Unix الشائعة (مع العلم أن Zsh، على عكس Bash ، ليس جزءًا من مشروع GNU نفسه). [ 14 ]
في عام 2019، اعتمد نظام macOS Catalina برنامج Zsh كصدفة تسجيل دخول افتراضية، ليحل محل نسخة Bash المرخصة بموجب رخصة GPLv2 ، [ 15 ] وعند تشغيل Bash بشكل تفاعلي على Catalina، يتم عرض تحذير بشكل افتراضي. [ 16 ]
تم تغيير الصدفة الافتراضية لـ TrueNAS (المعروف سابقًا باسم FreeNAS) من csh إلى Zsh في FreeNAS 11.2 الذي تم إصداره في أواخر عام 2018. [ 17 ]
في عام 2020، اعتمدت كالي لينكس Zsh كصدفة افتراضية منذ إصدارها 2020.4. [ 18 ]
سمات


تشمل الميزات: [ 19 ]
- ميزة إكمال الأوامر القابلة للبرمجة والتي يمكن أن تساعد المستخدم في كتابة كل من الخيارات والوسائط لأكثر الأوامر استخدامًا، مع دعم جاهز للاستخدام لمئات الأوامر.
- مشاركة سجل الأوامر بين جميع الصدفات قيد التشغيل
- تتيح خاصية البحث الموسع عن الملفات تحديد الملفات دون الحاجة إلى تشغيل برنامج خارجي مثل برنامج البحث (find).
- تحسين معالجة المتغيرات / المصفوفات ( الترقيم غير الصفري )
- تحرير الأوامر متعددة الأسطر في مخزن مؤقت واحد
- تصحيح الأخطاء الإملائية والتعبئة التلقائية لأسماء الأوامر (والوسائط اختيارياً، والتي يُفترض أنها أسماء الملفات)
- تتوفر أوضاع توافق متنوعة، على سبيل المثال، يمكن لـ Zsh أن يتظاهر بأنه Bourne shell عند تشغيله كـ
/bin/sh - تتضمن الميزات إمكانية تخصيص مظهر المطالبات ، بما في ذلك إمكانية وضع معلومات المطالبة على الجانب الأيمن من الشاشة وإخفائها تلقائيًا عند كتابة أمر طويل.
- وحدات قابلة للتحميل، توفر من بين أمور أخرى: عناصر تحكم كاملة في مقابس نطاق TCP و Unix ، وعميل FTP ، ووظائف رياضية موسعة.
- الأمر المدمج
where. يعمل مثلwhichالأمر السابق ولكنه يعرض جميع مواقع الأمر المستهدف في الدلائل المحددة$PATHبدلاً من الموقع الذي سيتم استخدامه فقط. - المجلدات المسماة. يتيح ذلك للمستخدم إعداد اختصارات مثل
~mydir، والتي تعمل بعد ذلك بالطريقة~التي~userتفعلها. - الأدوات. يمكن ربط الأدوات، سواء التي تم إنشاؤها أو تنفيذها بواسطة وظائف عادية، بمفاتيح الاختصار.
- التحميل التلقائي للدوال. تحسين أداء الدوال التي يمكن تحميلها مسبقًا وتشغيلها عند الطلب. [ 20 ] يهدف تحميل الدوال كملفات منفصلة أيضًا إلى دعم ميزات الدوال عبر إصدارات Zsh المختلفة.
مجتمع

يجمع موقع "Oh My Zsh"، وهو موقع مجتمعي للمستخدمين، إضافات وقوالب خارجية لبيئة Z shell. اعتبارًا من عام 2024، يضم مستودع GitHub الخاص بهم أكثر من 2300 مساهم، وأكثر من 300 إضافة، وأكثر من 140 قالبًا. كما يتضمن أداة تحديث تلقائي تُسهّل الحفاظ على تحديث الإضافات والقوالب المُثبّتة. [ 21 ]
إلى جانب الأطر المتكاملة، يستضيف مستودع مجتمع zsh-users المستقل على GitHub العديد من الإضافات المستقلة واسعة الانتشار. تشمل هذه الإضافات zsh-completions لإكمال تعريفات الأوامر المتقدمة باستخدام مفتاح Tab، [ 22 ] وzsh-syntax-highlighting لتلوين سطر الأوامر في الوقت الفعلي، [ 23 ] وzsh-autosuggestions لتوصيات الأوامر المستندة إلى سجل الأوامر. [ 24 ] كما طورت نفس المنظمة Antigen، أحد أوائل مديري الإضافات الشائعة لـ Zsh. [ 25 ] علاوة على ذلك، يعمل المجتمع بنشاط على توسيع بيئة Z shell من خلال مديري تكوين بديلين، مثل إطار العمل عالي الأداء Zim (zimfw)، الذي يركز على سرعة التنفيذ، [ 26 ] ونظام التكوين المعياري Veil (veil.zsh)، الذي يُحسّن بنية التكوين الداخلية دون الاعتماد على مديري إضافات خارجيين. [ 27 ]
انظر أيضاً
مراجع
- ١ ٢ "دليل Z Shell" (الإصدار ٥.٨.١). Sourceforge.io. ٢١ يوليو ٢٠١٢. مؤرشف من الأصل في ٢٠ فبراير ٢٠١٨. تم الاطلاع عليه في ٢٩ مارس ٢٠٢٢ .
- ↑ "zsh 5.9.2" .
- ↑ "zsh / Code / [ 281031 ] /LICENCE" . بول فالستاد. مؤرشف من الأصل في 2 مارس 2021. تم الاطلاع عليه في 7 فبراير 2015 .
- ^ "النسخة الحديثة لترخيص معهد ماساتشوستس للتكنولوجيا" .
- ↑ "zsh - غلاف أوامر شبيه بـ ksh/tcsh (الجزء 1 من 8)" . alt.sources. 14 ديسمبر 1990. تم الاطلاع عليه في 18 سبتمبر 2012 .
- ↑ "الأسئلة الشائعة حول Z-Shell" . Sourceforge.net. 15 فبراير 2010. مؤرشف من الأصل في 2 مارس 2021. تم الاطلاع عليه في 18 سبتمبر 2012 .
- ↑ "صفحة عشاق Z-Shell (ZSH)" . Guckes.net. حقوق الطبع والنشر محفوظة لعام 2004. مؤرشفة من الأصل في 17 مايو 2017. تم الاطلاع عليها في 2 أكتوبر 2012 .
- ↑ "أرشيف قائمة بريد Zsh" . Zsh.org. 8 أغسطس 2005. مؤرشف من الأصل في 2 مارس 2021. تم الاطلاع عليه في 2 أكتوبر 2012 .
- ↑ "إعلان zsh 1.0" . GitHub . 15 أبريل 2021.
- ↑ "أرشيفات القائمة البريدية لـ Cygwin" . تم الاطلاع عليه بتاريخ 12 مارس 2026 .
- ↑ "ملخص حزمة Cygwin لـ zsh" . تم الاطلاع عليه بتاريخ 12 مارس 2026 .
- ↑ كاسترو، بيتر. "أرشيف القائمة البريدية لتطبيقات Cygwin" . تم الاطلاع عليه بتاريخ 12 مارس 2026 .
- ↑ كاسترو، بيتر. "أرشيف قائمة بريد سيجوين" .
- ↑ "منافذ Win32 أصلية لبعض أدوات GNU" . مؤرشف من الأصل بتاريخ 2006-02-09 . تم الاطلاع عليه بتاريخ 2020-07-25 .
- ↑ وارن، توم (4 يونيو 2019). "أبل تستبدل باش بـ zsh كصدفة افتراضية في نظام macOS Catalina" . ذا فيرج . مؤرشف من الأصل في 10 يونيو 2019. تم الاطلاع عليه في 13 يونيو 2019 .
- ↑ "استخدم zsh كصدفة افتراضية على جهاز Mac الخاص بك - دعم Apple" . مؤرشف من الأصل في 2 ديسمبر 2019. تم الاطلاع عليه في 1 يوليو 2019 .
- ↑ "وثائق FreeNAS 11.2 - Shell" . تم الاطلاع عليه بتاريخ 12 مارس 2026 .
- ↑ "إصدار كالي لينكس 2020.4 (ZSH، Bash، CME، MOTD، AWS، Docs، Win-KeX وVagrant) | مدونة كالي لينكس" . كالي لينكس . تاريخ الاسترجاع: 3 مارس 2021 .
- ↑ "الأسئلة الشائعة حول Z-Shell" . zsh.sourceforge.net . مؤرشف من الأصل بتاريخ 2021-03-02 . تم الاطلاع عليه بتاريخ 2020-03-04 .
- ↑ أدوات يونكس المتقدمة ( الطبعة الثالثة). سيباستوبول (كاليفورنيا): أورايلي. 2003. ISBN 978-0-596-00330-2.
- ↑ Oh My Zsh على GitHub
- ↑ zsh-completions على GitHub
- ↑ zsh-syntax-highlighting على GitHub
- ↑ اقتراحات zsh التلقائية على جيثب
- ↑ مستضد على GitHub
- ↑ زيم على جيت هاب
- ↑ Veil.zsh على GitHub
روابط خارجية
- أنظمة يونكس
- لغات البرمجة النصية
