7.8. Die Startdateien von Bash

Das Shell-Programm /bin/bash (weiterhin nur als „shell“ bezeichnet) benutzt einige Startdateien zum Einrichten der Benutzerumgebung. Jede Datei hat einen bestimmten Zweck und beeinflusst Login- und Interaktiv-Umgebungen unterschiedlich. Die Dateien in /etc enthalten globale Einstellungen. Wenn eine gleichwertige Datei auch im Persönlichen Ordner des Benutzers existiert, überschreibt diese die globalen Einstellungen.

Nach einem erfolgreichen Login wird mit /bin/login eine interaktive Login-Shell gestartet. Dazu wird die Datei /etc/passwd eingelesen. Eine interaktive nicht-Login-Shell wird von der Kommandozeile aus gestartet (z. B. [prompt]$/bin/bash). Eine nicht interaktive Shell findet man üblicherweise bei laufenden Shell-Skripten. Sie ist nicht interaktiv, weil Sie ein Skript abarbeitet und zwischen den Kommandos nicht auf Eingaben vom Benutzer wartet.

Weiter Informationen finden Sie mit info bash - Abschnitte: Bash Startup Files und Interactive Shells.

Die Dateien /etc/profile und ~/.bash_profile werden gelesen, wenn die Shell als interaktive Login-Shell aufgerufen wurde.

Die untenstehende Basisversion der Datei /etc/profile stellt ein paar notwendige Umgebungsvariablen für NLS-Unterstützung ein. Eine korrekte Einstellung dieser Variablen bewirkt:

Dieses Skript setzt auch die Variable INPUTRC. Wenn diese Variable gesetzt ist, benutzen Bash und Readline die vorher erzeugte Datei /etc/inputrc.

Ersetzen Sie [ll] mit dem zweistelligen Länderkode für die gewünschte Sprache (z. B. „de“) und [CC] mit dem zweistelligen Kode für das gewünschte Land (z. B. „DE“ oder „AT“). Evtl. ist es sogar nötig (und das ist die bevorzugte Schreibweise), die Kodierung des Zeichensatzes nach einem Punkt anzufügen (z. B. „de_DE.iso8859-15“). Geben Sie das folgende Kommando ein um mehr Informationen zu erhalten:

man 3 setlocale

Mit dem folgenden Kommando erhalten Sie eine Liste aller von Glibc unterstützten Locales:

locale -a

Wenn Sie die korrekten Locale-Einstellungen herausgefunden haben, erstellen Sie die Datei /etc/profile:

cat > /etc/profile << "EOF"
# Begin /etc/profile

export LC_ALL=[ll]_[CC]
export LANG=[ll]_[CC]
export INPUTRC=/etc/inputrc

# End /etc/profile
EOF
[Hinweis]

Hinweis

Die Locales „C“ (voreinstellung) und „en_US“ (empfohlen für englischsprachige Amerikaner) sind nicht identisch.

Das Einstellen von Tastaturlayout, Bildschirmschriften und Locales sind die einzigen notwendigen Schritte zur Internationalisierung, um Locales mit einfachen 1-Byte Kodierungen und links-nach-rechts Schreibweise einzurichten. Komplexere Fälle (inklusive UTF-8-basierte Locales) erfordern weitere Schritte und Patches, weil viele Anwendungen dazu neigen, unter diesen Bedingungen nicht richtig zu funktionieren. Diese Schritte und Patches sind nicht Teil des LFS-Buches und diese Locales werden grundsätzlich von LFS nicht unterstützt.