6.30. Bash-3.2

Das Paket Bash enthält die Bourne-Again-SHell.

Geschätzte Kompilierzeit: 0.4 SBU
Etwa Benötigter Speicherplatz: 25.8 MB

6.30.1. Installation von Bash

Wenn Sie die Bash-Dokumentation heruntergeladen haben und die HTML-Dokumentation installieren möchten, dann führen Sie bitte die folgenden Kommandos aus:

tar -xvf ../bash-doc-3.2.tar.gz
sed -i "s|htmldir = @htmldir@|htmldir = /usr/share/doc/bash-3.2|" \
    Makefile.in

Die Upstream-Entwickler haben seit der ersten Veröffentlichung von Bash-3.2 viele Fehler behoben. Spielen Sie diese Fehlerkorrekturen nun ein:

patch -Np1 -i ../bash-3.2-fixes-8.patch

Bereiten Sie Bash zum Kompilieren vor:

./configure --prefix=/usr --bindir=/bin \
    --without-bash-malloc --with-installed-readline ac_cv_func_working_mktime=yes

Die Bedeutung der configure-Parameter:

--with-installed-readline

Dieser Parameter lässt Bash die von uns installierte readline-Bibliothek anstelle der Bash-eigenen Version benutzen.

Kompilieren Sie das Paket:

make

Fahren Sie mit „Installieren Sie das Paket“ fort, wenn Sie die Testsuite überspringen möchten.

Um alles für die Tests vorzubereiten stellen Sie sicher, dass die Locale-Einstellungen für Ihr System benutzt werden, und dass der Benutzer nobody von der Standard-Eingabe lesen und in den Quellordner schreiben kann:

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

Führen Sie nun die Tests als Benutzer nobody aus:

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

Installieren Sie das Paket:

make install

Starten Sie die frisch installierte bash (ersetzt die gerade laufende Version):

exec /bin/bash --login +h
[Anmerkung]

Anmerkung

Die verwendeten Parameter machen bash zu einer interaktiven Login-Shell. Hashing bleibt weiterhin abgeschaltet, so dass frisch installierte Programme sofort verfügbar sind.

6.30.2. Inhalt von Bash

Installierte Programme: bash, bashbug und sh (Link auf bash)

Kurze Beschreibungen

bash

Ein weit verbreiteter Befehlsinterpreter. Er führt alle möglichen Arten von Erweiterungen und Ersetzungen an einer Kommandozeile durch, bevor diese dann ausgeführt wird. Das macht diesen Befehlsinterpreter zu einem mächtigen Werkzeug.

bashbug

Ein Shell-Skript, welches dem Benutzer helfen soll, einen Fehlerbericht zur bash in einem standardisierten Format zu erstellen und per E-Mail zu versenden.

sh

Ein symbolischer Link auf das Programm bash. Wenn die bash als sh aufgerufen wird, versucht sie, das Verhalten der historischen Versionen von sh so gut wie möglich nachzuahmen und bleibt dabei trotzdem POSIX-Konform.