題:
Bash或Zsh有什麼區別,為什麼要使用其中一個?
Andrew
2011-02-03 11:19:11 UTC
view on stackexchange narkive permalink

所以,這個問題幾乎說明了一切。我在Snow Leopard上,我進行了大量的Web開發,尤其是在Rails 3中,它大量使用了控制台。 Bash,但我不知道它會產生什麼變化。

相關:http://superuser.com/questions/2127/what-zsh-features-do-you-use
如果有幫助,請參閱2016年文章:https://stackabuse.com/zsh-vs-bash/
由於蘋果改用zsh,這個問題再次變得有意義
一 回答:
Greg
2011-02-03 13:11:37 UTC
view on stackexchange narkive permalink

這來自 Zsh常見問題解答

 2.5:與bash的相似之處Bourne-Again Shell bash是另一個增強的Bourne-like shell;與zsh的最明顯區別是,它不嘗試模仿Korn shell。由於兩個shell都在積極開發中,因此在這裡過分具體可能不明智。廣泛地講,bash長期以來一直更加關注標準兼容性(即POSIX),並且到目前為止,它避免了zsh具有的更為深刻的交互功能(可編程完成等)。

我使用了它們兩者都可以,但是現在更喜歡Bash,因為我使用的計算機默認情況下始終一致地執行bash。符合標準的註釋對我很重要,因為這意味著操作系統之間的一致性。

Zsh具有很好的自動完成功能,但是我一直在尋找不知道我想要什麼的情況。那是幾年前的事,所以從那以後可能會有所改善。

我發現在Bash中啟用“ vi-mode”( set -o vi )使其成為一種比平常更好的命令行環境,所以我立即在我的 .bashrc 文件中做到這一點。

在編寫shell腳本時,我既不會使用bash也不使用zsh-我使用sh( / bin / sh )進行編程,因為它是最低的公分母,並且很少有兼容性問題。那隻是一個老習慣,這讓我感覺很好。

一個區別是通配符的行為不同。例如,要查找名為“ vi”的文件的所有實例,可以通過命令“ locate * / vi”使用bash。使用zsh,相同命令的結果為`zsh:找不到匹配項:* / vi`。為了使搜索工作在zsh中有效,搜索查詢必須用諸如“ locate” * / vi“”之類的引號引起來。
但是,您的兩個示例都可以使用bash。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 2.0許可。
Loading...