Umgebungsvariable
Der Begriff Umgebungsvariable ist ein Begriff aus dem Bereich der Betriebssysteme von Computern. Eine Umgebungsvariable enthält beliebige Zeichenketten, die in den meisten Fällen Pfade zu bestimmten Programmen oder Daten enthalten, sowie bestimmte Daten, die von mehreren Programmen verwendet werden können.
Ein anderer Begriff für Umgebungsvariable ist auch globale Variable; allerdings ist dieser Begriff eher unüblich, da er in vielen Programmiersprachen in anderer Bedeutung verwendet wird.
Benutzer oder Anwendungen können Werte dieser Variablen auslesen und/oder verändern.
*nix
Kommandozeile
In vielen auf UNIX basierenden Betriebssystemen wie Linux oder BSD, werden Umgebungsvariablen schon während des Bootens gesetzt. Ein Besipiel dafür ist die Datei /etc/profile, welche von einigen Unix Systemen beim Boot-Vorgang ausgelesen wird. Zusätzlich benutzt die Shell eine im Heimatverzeichnis jeden Benutzers vorhandene Datei (z.B. .profile oder .cshrc), die benutzerspezifische Umgebungsvariablen enthält und vom jeweiligen Benutzer selbst angepasst werden kann.
Erstellt oder verändert werden Umgebungsvariablen zumeist mittels des Befehls env. Ausgegeben werden sie, ähnlich wie unter Microsoft-Betriebssystemen, mit echo $NAME, wobei NAME durch den Namen der gewünschten Variable ersetzt werden muss.
Vordefinierte Umgebungsvariablen
Einige Umgebungsvariablen finden sich auf fast allen Unix-Systemen wieder. Beispiele hierfür sind:
PATH | Pfade die hier gelistet werden, werden nach Befehlen durchsucht die ohne Angabe eines Verzeichnisses ausgeführt werden |
HOME | Der Pfad des persönlichen Verzeichnisses des aktuellen Benutzers |
Der Pfad in der die persönlichen E-Mail Nachrichten des aktuellen Benutzers abgelegt werden | |
USER | Der Name des aktuellen Benutzers |
Prozessabhängigkeit
Unter Unix ähnlichen System ist es üblich, dass die Menge der Umgebungsvariablen pro System-Prozess gespeichert werden. Änderungen die ein Prozess am Bestand der Variablen vornimmt, sind nur für ihn selbst und Prozesse die von ihm gestartet wurden (Child-Prozesse) gültig.
MS-DOS
Unter MS-DOS (mit oder ohne einem 16-Bit Windows) und älteren Versionen von 32-Bit Microsoft Windows (95, 98, Me) werden die Umgebungsvariablen in der Datei AUTOEXEC.BAT, welche zu Systemstart ausgeführt wird, oder anderen Batch-Scripts gesetzt.
Windows
Kommandozeile
Um sich in der Kommandozeile den Wert einer Umgebungsvariable anzeigen zu lassen verwendet man echo %NAME%, wobei für NAME der Variable eingesetzt wird. Der set-Befehl steht als Kommandozeilen Editor zur Verfügung. Er lässt sich auch sehr gut in Batch-Scripten verwenden. Der Befehl set als solcher listet alle verfügbaren Umgebungsvariablen auf. Möchte man eine Umgebungsvariable erstellen oder einer bestehenden einen neuen Wert zuweisen, nutzt man set NAME=WERT, wobei statt NAME der Name und statt WERT der künftige Wert der Variable eingesetzt wir. set /? gibt ausführliche Informationen zu den Funktionalitäten des Befehls.
Grafische Oberfläche
Einen grafischen Editor zum direkten Bearbeiten der Umgebungsvariablen bietet der Befehl sysdm.cpl . Der Editor ist unter dem Register "Erweitert" und dort unter "Umgebungsvariablen" zu finden.
Dynamische Umgebungsvariablen
Einige Windows Versionen stellen von sich aus dynamisch generierte Umgebungsvariablen zur Verfügung. Dieser werden nicht fest gespeichert und der Wert wird kurz vor der Ausgabe ermittelt. Beispiele solcher dynamischer Umgebungsvariablen sind:
CD | Gibt das Verzeichnis aus, in dem sich der Abfragende gerade befindet |
DATE | Das aktuelle System-Datum |
TIME | Die aktuelle System-Zeit |
DATE | Eine Zufallszahl |
ERRORLEVEL | Den Fehlercode des zuletzt ausgeführten Befehls |
Vordefinierte Umgebungsvariablen
Abhängig von der verwendeten Windows-Version stehen weitere, beim Systemstart oder beim Einloggen definierte Umgebungsvariablen bereit. Zum Beispiel:
PATH | Pfade die hier gelistet werden, werden nach Befehlen durchsucht die im aktuellen Verzeichnis nicht gefunden werden konnten |
HOMEPATH | Der Pfad des persönlichen Verzeichnisses des aktuellen Benutzers |
TEMP oder TMP | Der Pfad des Verzeichnisses in das Windows-Anwendungen temporäre Dateien zwischenspeichern. |
USERNAME | Der Name des aktuellen Benutzers |
SystemRoot | Der Pfad des Windows System-Verzeichnisses |
Registrierung
Unter den neueren Versionen von Microsoft Windows (NT, 2000, XP und Server 2003) werden Umgebungsvariablen in der Registrierung gespeichert. Der Registrierungs-Pfad
HKEY_CURRENT_USER \ Environment
wird zur Speicherung von Umgebungsvariablen, welche nur den aktuellen Benutzer betreffen und
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment
für im Gesamtsystem gültige Umgebungsvariablen verwendet. Mit dem Befehl regedit lassen sich diese Pfade leicht durchsuchen.
Weblinks
- http://rowa.giso.de/german/shell-variablen.html Erklärungen zu Variablen und Umgebungsvariablen
- http://rowa.giso.de/german/dotfiles.html Bearbeitungstips für die profile Datei