Bash veya Zsh, fark nedir, neden birini veya diğerini kullanıyorsunuz? [çiftleme]


23

Yani, soru hemen hemen her şeyi söylüyor. Snow Leopard'dayım ve özellikle konsoldan yoğun şekilde yararlanan Rails 3'te çok fazla web geliştirme yapıyorum.

Bazı dikkate değer blogcular vb gördüm Zsh Bash tercih tercih olarak, ama ne fark bilmiyorum.

Biri bana ne gibi bir fark olduğunu ve birinin bir seçeneği veya diğerini tercih etmesini sağlayabilir?



1
Bu yardımcı olursa, 2016 makalesi: stackabuse.com/zsh-vs-bash
Cœur

Bu soru, elmaların zsh'a geçmesi nedeniyle tekrar ilgili hale geldi
amar

Yanıtlar:


16

Bu Zsh SSS bölümünden :

2.5: Bash ile benzerlikler

Bourne-Again Kabuğu, bash, bir başka geliştirilmiş Bourne benzeri kabuktur; en belirgin
zsh'tan farkı, Korn kabuğunu taklit etmeye çalışmasıdır. İkisinden beri
mermiler aktif geliştirme aşamasındadır. Muhtemelen çok spesifik olması mantıklı değildir. 
buraya. Genel olarak, bash, standartların (yani POSIX) uygunluğuna daha fazla dikkat etti.
ve daha abartılı etkileşimli özelliklerden (programlanabilir 
tamamlama, vb.)

İkisini de kullandım, ama şimdi Bash'i tercih ediyorum, çünkü varsayılan olarak çalıştığım makineler sürekli olarak basmak için. Standartlara uygunluk yorumu benim için önemlidir, çünkü bu işletim sistemleri arasında tutarlılık anlamına gelir.

Zsh'ın güzel otomatik tamamlama yetenekleri var, ancak ne istediğimi bilmediği vakaları bulmaya devam ettim. Bu birkaç yıl önceydi, o zamandan beri iyileşmiş olabilir.

set -o viBash "vi-mode" ( ) etkinleştirmek normalde olduğundan çok daha güzel bir komut satırı ortamı yapar, bu yüzden hemen benim .bashrcdosyamda bunu buldum .

Kabuk komut dosyaları yazarken hiç bash veya zsh programlamıyorum - sh ( /bin/sh) kullanarak programlıyorum , çünkü en düşük ortak payda ve uyumluluk sorunları olması en düşük olasılık. Bu sadece beni iyi durduran eski bir alışkanlık.


2
Bir fark, joker karakterlerin farklı davranmasıdır. Örneğin "vi" adlı dosyaların tüm örneklerini bulmak için komut ile bash kullanılabilir locate */vi. Zsh kullanıldığında aynı komutun sonucu elde edilir zsh: no matches found: */vi. Aramanın zsh biçiminde çalışmasını sağlamak için, arama sorgusu gibi tırnak işaretleri içine alınmalıdır locate "*/vi".
Pro Backup

Ancak her iki örnek de bash'de çalışır.
John Stack
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.