Umgebungsvariablen und Alias

Userspezifisch

Aliase und Umgebungsvariablen können spezifisch pro User festgelegt werden. Hierzu verwendet man das ‘.bashrc’ File im eigenen Home-Verzeichnis:

Alias/Umgebungsvariable

vi ~/.bashrc

Neue Zeile

alias ll='ls -l'

einfügen

ll wird nun den Befehl ls -l im Terminal ausführen.

Auf diese Art und Weise können Umgebungsvariablen (z.B. JAVA_HOME) gesetzt werden:

JAVA_HOME=/usr/lib/JDK1.5
export JAVA_HOME

Global

Um globale Aliase und Umgebungsvariablen zu setzen, hat man mehrere Möglichkeiten:

  • /etc/profile
  • /etc/bash.bashrc
  • /etc/environment
  • Wrapper-Skript

 

/etc/profile

Dieses File ist dann der richtige Ort, wenn man von der Console bootet und das GUI (Gnome/KDE) über startx aufruft. Das /etc/profile wird also auch dann gelanden, wenn kein Window-Manager gelanden wird.

/etc/bash.bashrc

Dieses File ist dann der richtige Ort, wenn man direkt per “Login-Manager” grafisch einloggt. Man darf aber nicht vergessen, dass dieses File ignoriert wird, sobald man ein weiteres Terminal (per Alt-F?) öffnet.

/etc/environment

Hier kann man statische Variablen definieren, die für das ganze System von Interesse sind. Als Beispiel werden hier alle Umgebungsvariablen für die Programmiersprache Java definiert, die sowohl für das Ausführen als auch die Entwicklung von Java-Programmen nötig sind. Die Variable PATH kann man auch in

/etc/environment

definieren, sie wird aber in der Regel von der Shell wieder überschrieben. Somit ist es besser, PATH in der Datei

/etc/profile

zu definieren und gegebenenfalls über die benutzerspezifischen Dateien

${HOME}/.bash_profile

(Login-Shell) und

${HOME}/.bashrc

(interaktive Shell) anpassen.

Wrapper-Skript

Es kursiert in der Debian-Welt die Idee, dass Umgebungsvariablen für das Starten eines Programmes nicht nötig sein sollten. Aus diesem Grunde wird oft ein so genanntes Wrapper-Script erstellt, welches die nötigen Variablen setzt und danach das eigentlich gewünschte Programm aufruft. Das kann z.B. folgendermassen aussehen:

#!/bin/sh
export JAVA_HOME=/wo/auch/immer
exec $0.real "$@"

Das speichert man unter dem Namen nachdem das effektive ‘PROGRAMM’ zu ‘PROGRAMM.real’ umbenannt worden ist. Danach noch das execute-Falg setzen:

chmod +x PROGRAMM