8.13 Startskripte
Da wir uns in diesem Buch primär an das Beispiel der bash halten möchten, beschreiben wir an dieser Stelle auch das Startskriptsystem dieser Shell.
In den Startskripten werden globale und benutzerspezifische Initialisierungen vorgenommen. So werden Funktionen definiert, wird der eine oder andere Alias eingerichtet oder werden Variablen wie der Programmsuchpfad $PATH gesetzt.
Ist die bash als Login-Shell eingerichtet, so werden zunächst die Dateien /etc/profile und – sofern vorhanden – .bash_profile im Heimatverzeichnis des Benutzers bzw. der Benutzerin ausgeführt. Anschließend werden die ebenfalls im Heimatverzeichnis liegenden Dateien .bash_login und .profile ausgeführt.
Die Datei /etc/profile enthält globale Einstellungen. Dies ist praktisch, da bei jedem Login eines Benutzers eine vom Administrator vorgegebene Einstellung übernommen werden kann. So könnte zum Beispiel ein bestimmtes Kommando oder ein für alle Benutzerinnen und Benutzer verwendbarer Alias eingerichtet werden.
Die anderen Dateien können vom Benutzer selbst eingerichtet und dazu verwendet werden, persönliche Einstellungen vorzunehmen.
Nachdem man sich aus der bash ausgeloggt hat, wird die Datei .bash_logout ausgeführt. In diese Datei kann man nützliche Funktionen, etwa zum Löschen temporärer Daten, einbauen.
Wird eine interaktive Nicht-Login-Shell gestartet, liest die bash die Datei .bashrc im Heimatverzeichnis des Benutzers bzw. der Benutzerin ein und führt sie aus.
Hier ist eine minimale .bashrc:
# Setzen von einigen Variablen export NULL=/dev/null export MAINLOG=/var/log/syslog export TERM=xterm-color export LC_ALL=de_DE export EDITOR="vi" … # Alias-Definitionen alias ls="/bin/ls -aF" alias ll="ls -alhoF" alias cl="cd ..;ls" alias cll="cd ..;ll" … # Willkommenstext fuer jede neue Shell echo echo "Welcome on `hostname`, $USER!" echo printf "%79s\n" "`uname -a`" printf "%79s\n" "`uptime`" … # Der Willkommensspruch /usr/games/fortune
Listing 8.57 Beispiel für eine .bashrc-Datei