Geben Sie auf der Shell einen Befehl wie ls ein, versteht diese genau, dass Sie das Programm /bin/ls aufrufen möchten. Dass Sie dazu nicht den vollen Pfad eintippen müssen, liegt daran, dass die Bash weiß, in welchen Bereichen im Dateisystem sie nach ausführbaren Programmen suchen muss. Definiert ist diese Suchpfad in einer so genannten Umgebungsvariable. Auch das Aussehen des Shellprompts, die Zeitzone, das Home-Verzeichnis des Benutzers und vieles mehr legen solche Variablen fest.
Die Definition einer Umgebungsvariablen besteht aus drei Teilen: dem Namen, einem Zuweisungsoperator (=) und einem Wert:
replaceablevariable=replaceablewert
Der Name darf Groß- und Kleinbuchstaben sowie Unterstriche und Zahlen enthalten. Einzige Einschränkung: Eine Variable darf nicht mit einer Ziffer beginnen. Enthält der Wert der Variablen Leer- oder Sonderzeichen, müssen Sie die Angabe in doppelte Anführungszeichen einschließen:
LESS="-X"
Tipp
Da sich die Bash ("Bourne Again Shell") unter Linux als Standardshell durchgesetzt hat, beziehen sich sämtliche in diesem Artikel genannten Beispiele auf diesen Kommandozeileninterpreter.
Willkommen zuhause
Jeder Benutzer eines Linux-Systems findet ein "möbliertes Zimmer" vor, denn die Bash bringt für alle Accounts eine fertig eingerichtete Umgebung mit. Wie diese aussieht, hängt unter anderem von der verwendeten Distribution ab. Welche Variablen es in Ihrem eigenen Zuhause gibt und welchen Wert diese haben, verrät das Kommando env (engl, "environment", Umgebung). Ein entsprechendes Beispiel zeigt Listing 1.
huhn@asteroid:~$ env TERM=xterm SHELL=/bin/bash USER=huhn LS_COLORS=no=00:fi=00:… PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/home/huhn/bin IRCSERVER=irc.freenode.net LANG=de_DE@euro …
Einige der Variablen, die das Listing zeigt, hat der Benutzer selbst gesetzt (siehe dazu den Abschnitt "Öfter mal was Neues"). Andere Shellvariablen sind vordefiniert, lassen sich aber bei Bedarf verändern. Als Schreibweise hat sich die Verwendung von Großbuchstaben eingebürgert. Die Tabelle "Standard-Umgebungsvariablen der Bash" gibt eine Übersicht häufig verwendeter Variablen für die Bash.
Standard-Umgebungsvariablen der Bash
| Variable | Bedeutung |
|---|---|
CDPATH
|
Suchpfad für das Kommando cd
|
EDITOR
|
Standard-Texteditor |
HISTFILE
|
History-Datei, z. B. ~/.bash_history.
|
HISTSIZE
|
maximale Anzahl der Befehle in der History |
HOME
|
Home-Verzeichnis des Benutzeraccounts |
HOSTNAME
|
Rechnername |
LANG
|
Sprache für Programmausgaben, Datumsformat etc., sofern keine der LC_-Variablen (siehe unten) gesetzt ist. Eine Liste aller definierten Sprachvariablen geben Sie mit dem Befehl locale aus.
|
LC_ALL
|
Ländereinstellung, etwa C oder de; setzt LANG und alle anderen LC_-Variablen außer Kraft.
|
LC_MESSAGES
|
Sprache für Programm- und Fehlermeldungen |
LC_TIME
|
Zeitformat |
LOGNAME
|
Login-Name des Benutzers |
MAIL
|
Pfad zur Mailbox des Benutzers (eingehende Post) |
MANPATH
|
Suchpfad für Manpages |
PATH
|
Suchpfad für ausführbare Dateien |
PS1
|
Aussehen des Standard-Shellprompt; für nicht-privilegierte Benutzer in der Regel \u@\h:\w\$ (huhn@asteroid:~$), für den Administrator \h:\w\$ (asteroid:~#).
|
PWD
|
Namen des aktuellen Verzeichnisses (engl.: "print working directory") |
SHELL
|
voller Pfadname der verwendeten Shell (/bin/bash)
|
TERM
|
Terminaleinstellung, etwa xterm oder vt100
|
TZ
|
Zeitzone (engl.: "time zone"), etwa. CET oder MET
|
In die Schränke geschaut
Um den Wert einer Variablen anzuzeigen, verwenden Sie auf der Kommandozeile den Befehl echo. Mit diesem Kommando geben Sie alles aus, was hinter dem Befehl steht:
huhn@asteroid:~$ echo Huhu Huhu
Darüber hinaus zeigt echo den Wert einer Variablen an, wenn Sie ein Dollarzeichen vor deren Namen stellen:
huhn@asteroid:~$ echo $LANG de_DE@euro huhn@asteroid:~$ echo $PS1 \u@\h:\w\$
Die Shell ersetzt die Variablen $LANG beziehungsweise $PS1 durch deren Wert und ruft dann das Programm echo zur Hilfe, das den Text ausgibt.


