Apple は macOS のデフォルトのシェルとして bash シェルを使用していますが、最近それを次のように変更しました。 zsh 。多くの Mac ユーザーにとって、これは予想外でした。 Apple がこの一歩を踏み出した理由は何でしょうか?また、この動きの背後にある主な懸念は何でしたか?この記事では、デフォルトのシェルを bash から bash に切り替えるという Apple の最近の決定について説明します。 zsh 。さぁ、始めよう:
GNU のライセンス契約の変更
Apple はそのポリシーを遵守していることで知られています。 Apple は長い間、macOS のデフォルトのシェルとして bash を使用してきました。 Apple はポリシーをほとんど変更しません。素早い切り替えに、Mac ユーザーは少し懐疑的になりました。 macOS X の現在の bash バージョンはバージョン 3.2 ですが、bash の最新バージョンは 5 です。GNU と Apple の間の使用許諾契約に矛盾があるため、Apple は単純に bash バージョンを更新できません。
GPLv3 ライセンスの契約条件が変更され、Apple のポリシーと互換性がなくなり、最新バージョンの bash 5.0 を使用するには、Apple が GPLv3 ライセンスに同意する必要があります。
GPLv3 はライセンス契約にいくつかの変更を加えましたが、Apple は Apple のような企業にとって制限的なものであるため、同意することに消極的です。したがって、Apple はデフォルトのシェルを bash から zsh macOS Catalina、Big Sur 以降。
なぜZsh?
bash から zsh に移行する主な理由は、zsh が bash に非常に似ているためです。したがって、このシェルを初めて使用する人でも問題に直面することはありません。
macOS でも Bash を使用できますか?
はい、bash は macOS でも使用できますが、bash のバージョン 5 ではなくバージョン 3.2 になります。bash バージョン 3.2.57 は古いものですが、GPLv2 ライセンスに基づいて Apple によって配布が許可されています。
bashとzshの違い
bash と zsh の主な違いは、zsh は高度にカスタマイズ可能であることです。コマンド補完は zsh の方がはるかに優れています。一方、bash で書かれたスクリプトは互換性が高いため、より汎用性が高くなります。機能の違いにより、zsh スクリプトは bash 環境では動作しない可能性があります。
最終的な考え
macOS から Borne Again Shell (bash) を放棄するという Apple の最近の決定は、GNU ライセンス契約の変更後に行われた不可解な決定です。 Apple によると、新しい規約は GPLv3 の条件が制限的であり、Apple が遵守するのは困難です。したがって、Apple は bash を継続することをやめ、zsh に切り替えます。 zsh は bash に非常に似ており、高度にカスタマイズ可能です。ただし、bash の使用にまだ興味がある Mac ユーザーは bash に切り替えることができますが、bash の最新バージョンを使用することはできません。