BashまたはZsh、違いは何ですか、なぜ一方を使用するのですか?[複製]


23

だから、質問はほとんどすべてを言っています。私はSnow Leopardを使用しており、特にコンソールを多用するRails 3で多くのWeb開発を行っています。

私はいくつかの著名なブロガーなどがBashよりもZshの好みとして言及しているのを見てきましたが、それがどのような違いをもたらすかはわかりません。

誰が私にどのような違いがあり、1つが他のオプションを好むのかをよく比較できますか?



1
:それは、2016年の記事に役立ちます場合stackabuse.com/zsh-vs-bash
・クール

この質問はzshのに切り替えるによるリンゴに再び関連となっています
アマール

回答:


16

これはZsh FAQからです:

2.5:bashとの類似点

Bourne-Again Shell(bash)は、強化されたBourneのようなシェルです。最も明白な
zshとの違いは、Kornシェルをエミュレートしようとしないことです。両方から
シェルは活発に開発されており、おそらくあまりにも具体的であることは賢明ではありません 
ここに。概して、bashは標準準拠(すなわちPOSIX)により多くの注意を払ってきました。
より長く、これまでのところ、より厄介なインタラクティブ機能(プログラム可能 
完了など)zshが持っています。

私は両方を使用しましたが、デフォルトで作業しているマシンは一貫してbashを使用するため、今ではBashを好んでいます。標準準拠のコメントは、OS間の一貫性を意味するため、私にとって重要です。

Zshには優れたオートコンプリート機能がありますが、自分が何を望んでいるのかわからない場合を見つけ続けました。それは数年前だったので、それ以降は改善されたかもしれません。

set -o viBashで「viモード」()を有効にすると、通常よりもはるかに優れたコマンドライン環境になるため、すぐに.bashrcファイルで実行します。

シェルスクリプトを記述するとき、bashまたはzshでプログラミングすることはありません。sh(/bin/sh)を使用してプログラミングします。これは最も一般的な分母であり、互換性の問題が発生する可能性が最も低いためです。それは私をうまく支えてきた古い習慣です。


2
1つの違いは、ワイルドカード文字の動作が異なることです。たとえば、「vi」という名前のファイルのすべてのインスタンスを検索するには、commandでbashを使用できますlocate */vi。zshを使用すると、同じコマンドの結果はになりzsh: no matches found: */viます。zshで検索を機能させるには、検索クエリをのような引用符で囲む必要がありますlocate "*/vi"
プロバックアップ

ただし、どちらの例もbashで機能します。
ジョンスタック
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.