# Zsh
Zsh (Z kabuğu), etkileşimli oturum açma kabuğu ve kabuk betikleri oluşturmak için komut yorumlayıcısı olarak kullanılabilen bir Unix kabuğudur. Bash, ksh ve tcsh'nin bazı özelliklerinin yanı sıra, birçok iyileştirme içeren, genişletilmiş bir Bourne kabuğudur .


## Tarihçe.
Paul Falstad ilk Zsh versiyonunu 1990'da Princeton Üniversitesinde öğrenciyken yazdı. Adı (o zaman Princeton Üniversitesinde öğretim asistanı olan) Yale profesörü Zhong Shao'nun adından türemiştir - Paul Falstad, Shao'nun zsh olan oturum açma kimliğini kabuk için iyi bir isim olarak görmüştür.
Zsh ilk başta Commodore Amiga için bir csh alt kümesi olarak tasarlanmıştı fakat bunun çok ötesine genişledi. 1990'da 1.0 sürümünün çıkmasıyla amaçlanan, ksh ile tcsh arasında bir şey ortaya koymaktı - (ksh gibi) mantıklı ve iyi tasarlanmış fakat aynı zamanda (tcsh gibi) insanlar için yapılmış, "muhtemelen bir AT&T ürününe dönüştürmek için çok garip" yazım denetimi, oturum açma/kapama izleme ve termcap desteği gibi tüm güzel özelliklere sahip, güçlü bir "komut ve programlama dili".
Zsh, ortak GNU Unix benzeri yardımcı programların yerel Win32 bağlantı noktalarının UnxUtils koleksiyonunun bir parçası olarak Microsoft Windows için ayrı bir paket olarak mevcuttur.
2019'da macOS Catalina, GPLv2 lisanslı Bash sürümü yerine Zsh'yi öntanımlı oturum açma kabuğu olarak kullanmaya başlamış olup Catalina'da etkileşimli olarak Bash çalıştırıldığında öntanımlı olarak bir uyarı gösterilir.
2020'de Kali Linux, 2020.4 sürümünden itibaren öntanımlı kabuk olarak Zsh'yi kullanmaya başladı.


## Özellikler.
Özellikleri şunları içerir:
  - Birkaç yüz komut için hazır destek ile kullanıcının en çok kullanılan komutlar için hem seçenekleri hem de argümanları yazmasına yardımcı olabilecek, programlanabilir komut satırı tamamlama 
  - Çalışan tüm kabuklar arasında komut geçmişi paylaşımı
  - Genişletilmiş dosya globbing , find gibi harici bir program çalıştırmaya gerek kalmadan dosya belirtimine olanak verir
  - Geliştirilmiş değişken/dizi işleme
  - Tek bir arabellekte çok satırlı komutların düzenlenmesi
  - Komut adlarının (ve isteğe bağlı olarak dosya adları olduğu varsayılan argümanların) yazım düzeltmesi ve otomatik doldurulması
  - Çeşitli uyumluluk modları, ör. Zsh, /bin/sh olarak çalıştırıldığında Bourne kabuğu gibi davranabilir
  - Ekranın sağ tarafına bilgi istemi bilgisi koyma ve uzun bir komut yazarken otomatik olarak gizlenmesini sağlama gibi, temalandırılabilir komut istemleri
  - Yüklenebilir modüller  tam TCP ve Unix etki alanı soket kontrolleri, FTP istemcisi ve genişletilmiş matematik işlevleri vb. sunar
  - Yerleşik where komutu - which komutu gibi çalışır fakat sadece kullanılacak olan yerine, hedef komutun $PATH ile belirtilen dizinlerdeki yerlerini gösterir
  - Adlandırılmış dizinler - bu, kullanıcının örneğin, bundan sonra ~ ve ~user gibi işlev görecek ~mydir gibi kısayollar oluşturmasını sağlar


## Topluluk.
"Oh My Zsh" adlı kullanıcı topluluğu web sitesi, Zsh için üçüncü şahıs eklentileri ve temaları toplar. 2021 itibarıyla GitHub kod depolarında 1900'den fazla katkıda bulunan kişi, 300'den fazla eklenti ve 140'tan fazla tema bulunmaktadır. Ayrıca yüklü eklentilerin ve temaların güncellenmesini kolaylaştıran otomatik güncelleme aracını da içerektedir.