Almquistシェル

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ
Almquistシェル
開発者ケネス・アルムキスト
初回リリース1989年5月30日; 32年前 (1989-05-30
で書かれているNS
オペレーティング・システムUnixライク
プラットホームクロスプラットフォーム
タイプUnixシェル
Webサイトwww .in-ulm .de / 〜mascheck / different / ash / ウィキデータでこれを編集する

AlmquistシェルA Shellashshも呼ばれます)は、1980年代後半にKennethAlmquistによって作成された軽量のUnixシェルです当初BourneシェルのSystemV.4バリアントのクローンでしたが、1990年代初頭にリリースされたUNIXBSDバージョンの元のBourneシェルに取って代わりました

歴史

灰は、最初に投稿経てリリースされたコンプ.sources.unix のUsenet承認され、司会ニュースグループ、リッチ・サルズこれは、System Vのシェルの再実装」として記載された5月30日、1989年にそのシェルのほとんどの機能[と]、プラスいくつかの追加」。[1]

高速、小、及び実質互換[要出典]POSIX Unixシェルの標準の仕様、灰分は提供しなかったライン編集コマンド履歴Almquistは、そのような機能性が中に移動しなければならないと感じたので、メカニズムを端末 ドライバただし、現在のバリアントはそれをサポートしています。

以下は、Slackwarev14のashパッケージ情報から抽出されたものです。

ash(Kenneth Almquistのアッシュシェル)

軽量(92K)ボーン互換シェル。メモリが少ないマシン最適ですがbashtcshzshなどのシェルのすべての追加機能を提供するわけではありませんBourneシェルと互換性のあるほとんどのシェルスクリプトを実行します。Linuxでは、ほとんどのスクリプトが少なくともいくつかのbash固有の構文を使用しているように見えることに注意してください。ashはインストールディスクで使用されるシェルであるため、Slackwareセットアップスクリプトは注目すべき例外です。NetBSDは/ bin / shとしてashを使用します。

無数のフォークが最初の灰のリリースから生産されました。[2]これらのashの派生物は/bin/shFreeBSDNetBSDDragonFly BSDMINIX、および一部のLinuxディストリビューションにデフォルトのシェル(としてインストールされていますMINIX 3.2は、テスト機能がPOSIXとは異なる元のashバージョンを使用していました[3] そのバージョンのシェルはMINIX3.3で置き換えられました。までAndroidの中古灰のAndroid 4.0、それはに切り替えた時点で、mksh[4]

ダッシュ

Debian Almquistシェル(DASH)
開発者ハーバート・シュー
初回リリース1997年7月15日; 24年前 (1997-07-15
で書かれているNS
オペレーティング・システムLinuxAndroid
タイプUnixシェル
Webサイトgondor .apana .org .au / 〜herbert / dash /

1997年にハーバート・徐は、移植ashのNetBSDからのDebianの Linuxの2002年9月、リリース0.4.1で、このポートの名前はDashDebian Almquist shell)に変更されました。Xuの主な優先事項は、POSIXへの準拠とスリムな実装です。[2]

前任者と同様に、Dashは国際化とローカリゼーションマルチバイト文字エンコード(どちらもPOSIXで必要)のサポートを実装していませんGNU Readlineに基づく行編集と履歴サポートはオプションです(--with-libedit)。

DebianとUbuntuでの採用

そのスリムさのために、Ubuntuは2006年にデフォルトとしてDashを採用することを決定しました/bin/sh[5] [6]。Dashを使用する理由は、以前のバージョンのDebianと比較して、特にオペレーティングシステムの起動時のシェルスクリプトの実行が速いためです[7]。そして、この目的のためにbashを使用したUbuntuですが、bashは依然としてインタラクティブに使用するためのデフォルトのログインシェルです。[8] Dashは2006年10月の6.10リリースからUbuntuのデフォルト/bin/shなりました[6] Dashはbashに取って代わり、Debian 6(Squeeze)のデフォルトなりました[5]/bin/sh

シフトの結果、多くのシェルスクリプトシバンで適切に宣言せずにbash固有の機能(「bashisms」)を使用していることが判明しました[9] [10]この問題はUbuntuで最初に発見され、UbuntuのメンテナはすべてのスクリプトをPOSIX標準に準拠させることを決定しました。変更は後でDebianにアップストリームされ、DebianはすぐにデフォルトとしてDashも採用しました。その結果、すべての拡張機能は、利便性のためダッシュに合併のために保存DebianとUbuntuのではスクリプトは、POSIX準拠であることが保証されています()。[11] [12]/bin/sh/bin/shlocalecho -ntest -a / -oSlackware Linuxでも同様の移行が発生していますが、のバージョンashは部分的にDashに基づいています。[2]

組み込みLinux

Ash(主にDashフォーク)は、組み込みLinuxシステムでもかなり人気があります。Dashバージョン0.3.8-5は、この分野でよく使用されるキャッチオール実行可能ファイルであるBusyBoxに組み込まれ、DSLinux、Alpine LinuxTiny Core LinuxOpenWrtTomatoDDなどのLinuxベースのルーターファームウェアなどのディストリビューション使用されています。-WRT

も参照してください

参考文献

  1. ^ Almquist、Kenneth(1989年5月30日)。 リッチサルツ(編)。"v19i001:System Vシェルの再実装、Part01 / 08"Usenetニュースグループ、comp.sources.unix。
  2. ^ a b c マスチェック、スヴェン。「Ash(Almquist Shell)バリアント」www.in-ulm.de
  3. ^ トーマスE.ディッキー(2015)。「テスト対移植性」2020年3月1日取得
  4. ^ エリオットヒューズ(2018-06-20)。「Androidのシェルとユーティリティ」2020年2月29日取得
  5. ^ B 「非インタラクティブシェル」Debianのウィキ2020-01-13 2020年2月29日取得
  6. ^ a b "Dash as / bin / sh"Ubuntuのウィキ2017-12-16 2020年2月29日取得
  7. ^ ニールクラウェッツ(2011)。Ubuntu:強力なハックとカスタマイズジョンワイリー&サンズNS。178. ISBN 9781118080382
  8. ^ クリストファー・ネガス; フランソワ・カーン(2011)。UbuntuLinuxツールボックスジョンワイリー&サンズ。NS。49. ISBN 9781118079140
  9. ^ エギルヘイスティング(2006-09-20)。「bashを使用しているスクリプトは、新しいシンボリックリンクで壊れている可能性があります」ランチパッド2020年2月29日取得
  10. ^ comotion(2007-09-21)。「#!/ bin / shとしてダッシュすると無数の非互換性が発生します」ランチパッド2020年2月29日取得
  11. ^ 「10。ファイル」Debianポリシーマニュアルv4.5.0.2
  12. ^ checkbashisms(1)  -  Linuxの一般コマンドマニュアル

外部リンク