ein Kapitel zurück                                           ein Kapitel weiter

Im Kapitel zuvor haben sie gesehen wie es möglich ist die komplette Environmentliste auszugeben. Nur viel Sinn macht das nicht, wenn man nicht versteht worum es sich im einzelnen handelt.

Die erste Frage dürfte wohle lauten, was sind Environmentvariablen überhaupt?

Environment-Variblen werden für den verzweigten Programmfluß benötigt. Diese Informationen (Environment-Variablen) werden zwischengespeichert um darauf zu einem späteren Zeitpunkt mit einem X-beliebigen Programm zugreifen zu können.

Dabei gibt es zwei Arten von Environment-Variablen. Globale und Lokale Variablen. Die globalen werden Environment Variablen genannt, vererben Ihren Inhalt an Sub-Shells und Prozesse (Programme während der Ausführung), die von der jeweiligen Shell gestartet wurden. Den Inhalt der globalen Variablen können sie mit dem Befehl......

env | less  

...in der Kommandozeile abfragen.

Lokale Variablen hingegen sind nur auf der momentan laufenden Shell gültig. Veränderungen an diesen werden nicht an den Kindprozessen weitergegeben. Die Lokalen Variablen können sie in der Konsole mit dem Befehl.......

set | less  

......abfragen. Bei Abfrage dieses Befehls dürfte Ihnen auffallen, das diese Variablen ähnlich sind, von den Globalen. Das ist auch normal, denn diese sind von dem Vaterprozess geerbt worden. Aber anders als bei den Globalen Variablen können wir bei den Lokalen weitere hinzufügen.

Geben sie zum Beispiel in der gerade laufenden Konsole......

export xyz=Hallo  

Geben sie jetzt wieder set in der Konsole ein und sie finden die neue Variable in der Liste. Öffnen sie nun noch schnell einen neue Shell und geben sie hier set ein. Hier werden sie xyz nicht finden. Ich glaube jetzt dürften sie den Bezug von Globalen und Lokalen Variablen verstehen.

Es ist aber hier nicht meine Absicht in diesem Kapitel zu Erläutern wie sie Environment Variablen manipulieren können, sondern was diese Bedeuten.

ENV
ENV enhält den Namen einer Datei in dem Kommandos stehen die bei jedem Aufruf einer Bash abgearbeitet werden sollen.

FCEDIT
Bestimmt welcher Edior aufgerufen werden soll wenn sie in der Kommandozeile fc eingeben. Beispielsweise vi.

HISTFILE
Legt das Verzeichnis fest in der die History-Datei ist. Sollte meist $HOME/.bash_history sein.

HISTSIZE
Legt die Anzahl der Kommandos fest die im History-File gesichert werden sollen. Voreinstellung sind 128 Kommandos. Diese werden dann im Internen Puffer der Bash geladen.

HOME
Der Absolute Pfadname des Homeverzeichnisses. In dieses Verzeichnis springt zum Beispiel der Befehl cd, sofern sie keinen Pfadnamen mitangegeben haben.

INGOREEOF
Damit legen sie fest wie sie sich von eine Shell abmelden. Beispielsweise STRG+D beendet die Shell. Steht hier der Wert 0, wird die Shell mit einem Aufruf von exit verlassen.

LOGNAME
Benutzername der gerade Angemeldet ist.

MAIL
Sieht in dieser Datei nach, ob eine Mail gekommen ist

MAILCHECK
Legt fest in welchen Zeitabständen nachgesehen werden soll ob eine neue Mail vorhanden ist. Die Zeiteinheit wird in Sekunden festgelegt.

OLDPWD
Bewahrt den Pfadnamen des vorgehenden Verzeichnis auf wo sie waren. Die wird Beispielsweise ausgegeben wenn sie in der Kommandozeile eingeben cd -

PATH
Suchpfad für ausführbare Programme

PS1, PS2, PS3, PS4
Legen den Prompt String in einer bestimmten Situation fest. PS1 enthält zum Beispiel den Text des Standart-Promts. Geben sie in der Shell zum Beispiel ein....

export PS1=[myPrompt]:  

...verändert sich das Prompt und sieht wie folgt aus......

[myPrompt]:  


PWD
Das aktuelle Verzeichnis

SHELL
Pfadname der Shell

USER
Wie LOGNAME

TERM
Terminal-Einstellung

HOSTNAME
Name des Hosts

Dies war ein kleiner Überblick zu den Bedeutungen der Environment-Variblen. Sie können daran ja mal etwas herumprobieren, da es sich eh nur um Kopien des Orginals handelt, die Intern verwaltet werden.

Zu den Environment Variablen der CGI-Programmierung kommen wir noch in einem extra Kapitel.

ein Kapitel zurück          nach oben           ein Kapitel weiter


© 2001,2002 Jürgen Wolf