BourneシェルとBashの関係はCとC ++の関係と似ていますか(もしそうなら、どちらもシェルとしての位置を持っていることを意味します)?シェルについて読むたびに、Bourneシェルは死んで役に立たないと言いますが、なぜですか?
答え1
実際、Bourne Shellを使用する可能性は少なく、ダッシュ(Debian Almquist Shell)を使用する可能性が高くなります。次の電話でこれを確認できます。
echo $0
シェルの正確な名前はwhatshell
スクリプトで検索できます。https://www.in-ulm.de/~mascheck/various/whatshell/
しかし、ダッシュはBourne Shellではなく、UNIXに関する限り、DashはBourne Shellをサポートしていないため、Bourne Shellよりも悪いです。マルチバイト文字。
Bourne Shell は Thompson Shell を書き換えてリリースされたシェルです。スティーブンボーン1976年に設立されて以来、多くの変化がありました。
1983年、Bourne ShellのコピーがKorn Shell(ksh)の実行プログラムとして使用されました。デビッド・コーエン。
Bourne Shellとkshは1988年に国際化サポートを得、UNIXのlibcは1992年まで開発されたので、両方ともそれ以来マルチバイト文字をサポートします。
1989年、Korn ShellはGNUプロジェクトのBash Shellモデルとして使用されました。
1989年には、1982年型Bourne ShellがAsh(Almquist Shell)のモデルとして使用され、DashはAshのバグが修正されたバージョンでした。しかし、AshとDashは後でPOSIX機能を追加しました。
1992年、POSIXはksh88をモデルPOSIXシェル定義として使用しました。
2005年、OpenSolarisはBourne Shellをオープンソースにしました。 2006年以来、Bourne Shellのソースコードは絶えず開発され、POSIXと互換性があります。
ダッシュには履歴エディタとマルチバイトのサポートがありませんが、現在Bourne Shellはこれらの機能を実装しています。
しかし、POSIX準拠に加えて、今日のシェルの主な違いは、シェルをインタラクティブシェルとして使用するのに適したものにする機能です。これは最近Bourne Shell(bosh)、ksh、およびBashで取得できますが、ダッシュでは取得できません。