バッシュシェルは30歳以上で、まだ強くなっています。それはどこから来たのか、そしてそれがまだLinuxシステム上の最も一般的なシェルなのでしょうか。
シェルとは何ですか?
ターミナルウィンドウを開き、コマンドと入力したら、入力したものを取る必要があります。これを行うソフトウェアはシェルです。シェルはコマンドインタプリタです。入力した内容をスキャンし、コマンド、ディレクトリ名、ファイル名、およびプログラム名を選択して、達成しようとしているものを理解できるようにします。
人々はしばしば「ターミナルウィンドウ」、「コマンドライン」、そして「シェル」を互換的に使用することがよくありますが、それらは3つの異なるものです。ターミナルウィンドウは、物理のソフトウェア表現です。 テレタイプターミナル 。それはあなたにコンピュータへの接続を与えます。何も役に立つようにするには、コマンドラインで命令を入力できる必要があります。コマンドラインはシェルによって提供され、ターミナルウィンドウはシェルにアクセスできます。
シェルでは、スクリプトと呼ばれるテキストファイルにコマンドのコレクションを区画することもできます。スクリプト内のすべてのコマンドは、スクリプトを実行するたびに実行されます。スクリプトは効率、再現性、および利便性を提供します。
最初
un
シェルはでした
トンプソンシェル
、呼ばれる
NS
。それはによって書かれました
ケントンプソン
、おそらくオリジナルのUNIX創設者の最も重要なメンバーである
ベルラブ
。 Thompsonシェルは、UNIXバージョン6までのデフォルトのUNIXシェルとして使用されていました。
ボーンシェル
1979年のUNIXのバージョン7で。
関連している: UNIXとは何ですか、そしてそれが問題なのでしょうか。
ボーンシェル
によって書かれたボーンシェル
スティーブンボーン
Thompsonシェルのアップグレードされた置き換えはアップグレードされました。 Thompsonシェルと同じコマンドを使って始めました、
NS
既存のスクリプトとの下位互換性を維持するため。下位互換性が重要でしたが、今日使用している多くの機能を提供する新機能が含まれていました。
Bourneシェルは対話型シェルとスクリプト言語でした。それは前景および背景タスクの実行と基本的なジョブ制御をサポートしました。取り扱いループの改良とともに、パイプとリダイレクトを追加しました。
シェルは現在組み込みのコマンドを含んでいました。つまり、すべてを外部ユーティリティに渡す必要があり、それをより効率的にします。 Bourneシェルはサポートされています 「ここで文書」 コマンドへの送信データを自動化するためのエレガントな方法。
Bourneシェルはバーを上げ、新しい標準になりました。
関連している: LinuxでBashで「ここで文書」を使用する方法
バッシュの誕生
1984年に GNUプロジェクト 無料のUNIXを作成するという意思が、根拠から書かれているとともに 新しい、許可ライセンス - チームはシェルを必要としました。 GNUプロジェクトのシェルに取り組んでいたボランティアが繰り返しすべてのものに配達できなかったとき、 ブライアンキツネ Bourneシェルのクローンを書くことで任意でした。
それはダビングされました Bourne Shell. 、またはbash。これは、Stephen Bourneとそれのために部分的にワードプレイに敬意を表していました。 1989年のリリース後、 チェットラメイ Bashにいくつかのバグ修正を貢献しました。彼は最終的にはBashシェルの共産装置になりました。今日、彼はまだBashプロジェクトのメンテナです。
Linus Torvalds
Linuxカーネルの作成者は、1991年に彼の新しいカーネルに走った最初の2つのプログラムがBashであると言っています。
GCC.
又
GNUのコンパイラ
。 GNUユーティリティのLinuxカーネルとのペアリングは相互に有益であった。 GNUオペレーティングシステムがカーネルを必要とし、LinuxカーネルにはUNIXクローンを構成する他のすべてが必要でした。
Bashは標準のGNUシェルであるため、すべてのGNU / Linuxディストリビューションの標準シェルとなりました。 Linuxは今それが今それを支えているという点まで繁栄しました 現代の世界の驚くべき量 。バッシュシェルは成功の波もサーフィンしました。
BASHはBourneシェルの機能セットを組み込んで改善しますが、それはまたそのような他のシェルからのインスピレーションを受けました
Cシェル
)(
c
) そしてその
カルンシェル
)(
ksh
)。たとえば、チルダの拡張
~.
「に保持されている値に
$ hom.
環境変数はCシェルから来ています。
fc
コマンド内のデフォルトエディタを呼び出すコマンド
コマンド履歴
KornShellから来ています。
Bashは、などの設定ファイルを導入しました ".bashrc"と ".bash_profile"ファイル 。 Bashのコマンドライン編集は、前のシェルの機能を超えました。コマンド履歴内の以前に実行されたコマンドの操作は、Cシェル "bang履歴"機能の改良版でした。 Brace Expansionは、Cシェルにある機能のスーパーセットとしてBASHで実装されたBourneシェルから行方不明の機能でした。サイズ限界を除去することによって配列が改善されました。コマンドプロンプトでのパラメータ展開により、ユーザーは自分のBASHプロンプトをカスタマイズできます。
Bash Shellはそれに準拠していることを目指しています POSIX P1003.2 / ISO 9945.2シェルとユーティリティ 標準。
関連している: Linuxは商業UNIXを殺しましたか?
なぜBashがまだ重要です
それがその仕事までではなかった場合、デフォルトのLinuxシェルとして、Bashはこの長さを超える30年間で続くことができませんでした。その長い耐用年数と大規模なユーザーベースのために、Bashは成熟して非常に安定しています。 Cシェルのような退役軍人からの多くの代替シェルがあり、そのような新しいシェルへのKornShell
zシェル(
z z
)
そしてその
フレンドリーなインタラクティブシェル
)(
魚
)。 Zシェルと魚のシェルの両方に、BashがBashが行うのと同じことを達成するためのより良いほど良い方法でも同様にもっと良い機能を持っています。それでは、なぜ静かなシェルはなぜですか?
私が今までに呼ばれていたすべてのLinuxマシンのうち、私はシェルとしてbashを持っていなかった単一のものを思い出しません。 UNIXマシン、はい、Linuxボックス、NO。毎回バッシュです。その親しみやすさを迅速に仕事をすることができ、そしてまっすぐに効果的であることを可能にします。あなたはすでにbashを知っているので、学習曲線はありません。何かがうまくいかない理由を理解しようとしているサークルで回ってきた構文の小さな違いでハムストゥングしないでください。呪文が上にあるべきものを考え出す時間 これ シェルはデッドタイムであるので、それはよく知られ広く使われているシェルを使用するためにクライアントビジネスの利益にある。
存在するシェルを使用するか、またはPOSIX準拠の多くのLinuxディストリビューションに対応することを非常に難しくしようとしていますが、より多くの問題は以前のリリースとの互換性です。既存のスクリプトを破る可能性のある変更を加えることは明らかに不当なものです。魅力的かどうか、時々、あなたはただ弾丸を噛む必要があります。 1967年9月3日、スウェーデンは左側の運転から右側の運転に交流しました。午前4時50分に、すべての交通が停止しなければならなかった、ゆっくり道の反対側に進み、もう一度停止します。午前5時、交通は進行する可能性があります。
これまでに置き換えられますか?
今ではお知らせ不可能に思えるのは、実際に後で起こる可能性があります。私たちはすべてが常にBashを使うことを信念にしたいとしていない限り、真実はある日、BashはデフォルトのLinuxシェルとして置き換えられます。それともそれはbashになるでしょうが、私たちが今日使用するシェルをはるかに超えて強化されました。しかし、今日のBashの場所を撮ることは何でも、恩恵があるかもしれないものは何でも、完全に(または非常に近い)下位互換性があるか、または激動の価値がある必要があります。
これは先例がないわけではありません。以来 バージョン10.15 の マックOS 、AppleはBashを落としてZシェルをデフォルトのシェルとして採用しました。 AppleはGNU General Public License(GPL)V.3に関する問題を抱えています。残念ながら、それはBashが使用するライセンスです。 GPL v.2の下でリリースされたBashの最後のバージョンは2007年のバージョン3.2でした。現在のバージョンは5.1です。 Appleは約10年半の後ろにありました。 AppleがGPL V.3に移行せずに最新のシェルを含めることができる唯一の方法は、別のシェルに完全なシェルに移動することでした。アップルへ、それは激動の価値がありました。 (ただし、あなたは依然としてできます MacosでBashに戻ります あなたがそれを好むなら!)
電源ユーザーのワークステーションとリモート管理が必要なビジネスLinuxサーバーの間には違いの世界があります。 SSH接続以上 。約150万のAmazon EC2がホストしたサーバーの中で、 93%以上がLinuxを実行しています 。 Webサーバーのほぼ75% Linuxを実行しています 。 Red Hat、Amazon、Googleなどの組織はLinuxの社内で使用しています。
そのようなグローバルな維持を正当化するという新しいシェルが提供できるのはどのような利益を提供できるかを想像するのは難しいです。だからこそ、Bashが所定の位置に接合されています。
マイクロソフトでさえ今の道を提供しています Windows 10でLinuxベースのBashシェルを実行します。 !