
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.

© 2001,2002 Jürgen Wolf
|