6.28. Bash-4.0

Bash は Bourne-Again SHell を提供します。

概算ビルド時間: 1.4 SBU
必要ディスク容量: 35 MB

6.28.1. Bash のインストール

Bash-4.0 の初期リリース以降に発見されたバグを解消するために以下のコマンドを実行します。

patch -Np1 -i ../bash-4.0-fixes-3.patch

Bash をコンパイルするための準備を行います。

./configure --prefix=/usr --bindir=/bin \
    --htmldir=/usr/share/doc/bash-4.0 --without-bash-malloc \
    --with-installed-readline

configure オプションの意味:

--htmldir

このオプションは HTML ドキュメントをインストールするディレクトリを指定します。

--with-installed-readline

このオプションは Bash が持つ独自の readline ライブラリではなく、既にインストールした readline ライブラリを用いることを指示します。

パッケージをコンパイルします。

make

テストスィートを実行しない場合は 「パッケージをインストールします。」 と書かれた箇所まで読み飛ばしてください。

テストを実施するにあたっては、既に設定しているロケールが用いられるように変更します。 また nobody ユーザーに対して標準入力からの読み込みを可能とし、ソースツリーへの書き込みを可能とします。

sed -i 's/LANG/LC_ALL/' tests/intl.tests
sed -i 's@tests@& </dev/tty@' tests/run-test
chown -Rv nobody ./

nobody ユーザーでテストを実行します。

su-tools nobody -s /bin/bash -c "make tests"

パッケージをインストールします。

make install

新たにコンパイルした bash プログラムを実行します。 (この時点までに実行されていたものが置き換えられます。)

exec /bin/bash --login +h
[注意]

注意

ここで指定しているパラメータは、対話形式のログインシェルとして、またハッシュ機能を無効にして bash プロセスを起動します。 これにより新たに構築するプログラム類は構築後すぐに利用できることになります。

6.28.2. Bash の構成

インストールプログラム: bash, bashbug, sh (bash へのリンク)

概略説明

bash

広く活用されているコマンドインタープリタ。 処理実行前には、指示されたコマンドラインを様々に展開したり置換したりします。 この機能があるからこそ、インタープリタ機能を強力なものにしています。

bashbug

bash に関連したバグ報告を、標準書式で生成しメール送信することを補助するシェルスクリプトです。

sh

bash プログラムへのシンボリックリンク。 sh として起動された際には、かつてのバージョンである sh の起動時の動作と、出来るだけ同じになるように振舞います。 同時に POSIX 標準に適合するよう動作します。