السلام عليكم!
قبل عدة أشهر ذكر لي زميل في العمل عن بديل رائع للـBash كموجه الاوامر الافتراضي على اللينكس والماك. في البداية لم أكن متحمس أني أستبدل موجه الاوامر الافتراضي، خاصة أني لم أكن أواجه مشكلة معينة مع الBash. بالطبع، قلت هذا الكلام قبل أن استكشف بعض الخصائص الرائعة حول Zsh. دعونا نستكشف ماهو Zsh.
لمحة بسيطة عن تاريخ Zsh:
- تم تطويره عام 1990.
- متوافق مع الBash.
- تم تطويرة كبديل لBourne و C shell.
- يحتوي على الكثير من المميزات من الطرفيات الاخرى بالإضافة الى مميزات متقدمة.
لماذا Zsh؟
- الاكمال التلقائي
أحد أروع الخصائص في Zshهي الاكمال التلقائي. نعرف أن الBash ممكن يصبح كذلك عبر تسطيب الحزمة bash-auto-complete. لكن في Zshهذه الخاصية تأتي إفتراضيا وبشكل مختلف! بحيث يمكنك من الاختيار بواسطة لوحة المفاتيح من الخيارات المتاحة للاكمال!
لنفترض انك تريد أن تعمل تنفيذ لامر:
kill <tab>
في Bash عندما تضغط <tab> سوف تقوم الطرفية بعرض الملفات الموجودة في المجلد الحالي. لكن في Zshتلقائياً عندما تكتب امر kill وتضغط tab يقوم بكل ذكاء بعرض جميع العمليات في الجهاز بحيث بكل مرونة تستطيع الاختيار أي العمليات تريد إنهاءها.
- توسيع المسار Path Expansion
من الخصائص الجميلة في Zsh هي توسيع المسار، بحيث لنفترض انك تريد استعراض المسار
/usr/lib/dtrace
كل ماعليك فعله حينها هي أن تكتب الاتي وتضغط tab
cd /u/l/dtra
بكل ذكاء Zshسوف يفهم أنك تريد
/usr/lib/dtrace
وسوف يقوم بعرض هذا المسار لتقوم بإختياره.

- بحث في تاريخ الأوامر بطريقة ذكية!
هذه الميزة جداً رائعة! لنفترض أنك تريد جميع الاوامر التي نفذتها مع أمر ls. بكل سهولة، تقوم بكتابة ls ومن ثم تقوم بالضغط على السهم الاعلى في لوحة المفاتيح !
- والكثير الكثير من المزايا الرائعة ..
هذه فقط مقدمة عنZsh كبديل للـBash . اذا أحببت أن تقوم بتركيب Zsh كل ماعليك القيام به هو أن تزور موقع oh-my-zsh وهو إطار عمل لإعدادات Zsh بحيث يأتي محملاً بالكثير من الاضافات التي من الامكان تفعيلها على حسب الحاجة. الإضافات موجودة تقريباً لكل لغات البرمجة وبرامج التحكم بالكود المصدري والخ ……
مصادر مفيدة:
- http://vysakh0.github.io/flying-start-with-zsh-shell/
- http://code.joejag.com/2014/why-zsh.html
- http://www.slideshare.net/jaguardesignstudio/why-zsh-is-cooler-than-your-shell-16194692
