Was sind Umgebungsvariablen?
Umgebungsvariablen enthalten Werte, die sich auf die aktuelle Umgebung beziehen, wie z.B. das Betriebssystem oder Benutzersitzungen.
Pfad
Einer der bekanntesten heißt PATH
unter Windows, Linux und Mac OS X. Er gibt die Verzeichnisse an, in denen sich ausführbare Programme* auf dem Rechner befinden, die gestartet werden können, ohne den gesamten Pfad zur Datei zu kennen und auf der Befehlszeile einzugeben. (Oder unter Windows der _Ausführen-Dialog im Startmenü oder
+R). Unter Linux und Mac OS X enthält er normalerweise alle Verzeichnisse bin
und sbin
, die für den aktuellen Benutzer relevant sind. Unter Windows enthält es mindestens die Verzeichnisse C:\Windows
und C:\Windows\system32
- deshalb können Sie calc.exe
oder notepad.exe
von der Befehlszeile oder aus dem Ausführen-Dialog heraus _ausführen, aber nicht firefox.exe
. (Firefox befindet sich in C:\Program Files\Mozilla Firefox
. Informationen darüber, wie Sie Firefox einbinden können, finden Sie hier .)
Wenn Sie z.B. calc
(die .exe
kann weggelassen werden) in die Befehlszeile unter Windows eingeben, wird der Windows-Rechner gestartet.
* Sie können Unterstützung für andere Dateierweiterungen als .exe
hinzufügen, indem Sie %PATHEXT%
editieren.
Andere
Andere Variablen könnten Programmen mitteilen, welche Art von Terminal verwendet wird (TERM
unter Linux/Mac OS X), oder, unter Windows, wo sich der Windows-Ordner befindet (z.B,
Erstellen neuer Umgebungsvariablen
Unter Windows, Linux und Unix ist es möglich, neue Umgebungsvariablen zu erstellen, deren Werte dann beim Start allen Programmen zur Verfügung gestellt werden.
Sie können dies verwenden, wenn Sie Skripte oder Programme schreiben, die auf mehreren Rechnern installiert oder bereitgestellt werden und auf Werte verweisen müssen, die für diese Rechner spezifisch sind. Während ein ähnlicher Effekt mit programmspezifischen Konfigurationseinstellungen erzielt werden kann, ist es einfacher, dies mit einer Umgebungsvariablen zu tun, wenn mehrere Programme auf denselben Wert zugreifen müssen.
Windows
GUI
Öffnen Sie %WINDIR%
.
Geben Sie C:\Windows
in das Dialogfeld Ausführen (
+R) ein und klicken Sie auf Control Panel » System » Advanced » Environment Variables
.
Zum Bearbeiten von Benutzervariablen können Sie auch
eingeben 3. Klicken Sie mit der rechten Maustaste auf (Arbeitsplatz) und klicken Sie auf Eigenschaften, oder drücken Sie einfach
+Unterbrechen.
- Es gibt viele andere Möglichkeiten, an die gleiche Stelle zu gelangen, z.B. durch Eingabe von “Umgebungsvariablen” in das Suchfeld Startmenü/Bildschirm usw.
Umgebungsvariablen in Windows sind in benutzer- und maschinen-/systemspezifische Werte unterteilt. Sie können ihre Werte dort anzeigen und bearbeiten. Ihre aktuellen Werte beim Start werden allen Programmen zur Verfügung gestellt.
Es gibt auch Rapid Environment Editor , der das Setzen und Ändern von Umgebungsvariablen in Windows erleichtert, ohne daß man sich in die Systemeinstellungen vertiefen muß. Ein weiteres Open-Source-Programm für Windows, mit dem die Pfadumgebung sehr bequem bearbeitet werden kann, ist Path Editor .
Befehlszeile
Format
Umgebungsvariablen in Windows werden mit Prozentzeichen (%) um den Namen herum gekennzeichnet:
%name%
echo
Um den Wert einer Umgebungsvariablen in control sysdm.cpl,,3
anzuzeigen, geben Sie Environment Variables
ein.
C:\>echo %USERPROFILE%
C:\Users\Daniel
setze
Um eine Variable zu erstellen/setzen, verwenden Sie cmd.exe
:
C:\>set FunnyCatPictures=C:\Users\Daniel\Pictures\Funny Cat Pictures
C:\>set FunnyCatPicturesTwo=%USERPROFILE%\Pictures\Funny Cat Pictures 2
Um eine Variable anzuhängen/hinzufügen, verwenden Sie echo %name%
:
C:\>set Penguins=C:\Linux
C:\>set Penguins=C:\Windows;%Penguins%
C:\>echo %Penguins%
C:\Windows;C:\Linux
Auf diese Weise gesetzte Umgebungsvariablen sind für (den Rest der) Dauer des Eingabeaufforderungsprozesses, in dem sie gesetzt sind, verfügbar und stehen für Prozesse zur Verfügung, die gestartet werden, nachdem die Variablen gesetzt wurden.
setx
Um eine Variable **permanent zu erstellen/setzen, verwenden Sie set varname=value
:
C:\>setx FunnyCatPictures "C:\Users\Daniel\Pictures\Funny Cat Pictures"
[Restart CMD]
C:\>echo %FunnyCatPictures%
C:\Users\Daniel\Pictures\Funny Cat Pictures
Im Gegensatz zu set varname=value;%varname%
gibt es kein Gleichheitszeichen und der Wert sollte in Anführungszeichen gesetzt werden, wenn er Leerzeichen enthält. Beachten Sie, dass Variablen zu einer Zeichenfolge mit Leerzeichen expandieren können (z. B. wird setx varname "value"
zu set
), so dass es am besten ist, Werte, die irgendwelche Variablen enthalten, in Anführungszeichen zu setzen.
Sie müssen %PATH%
in Versionen von Windows vor Vista manuell hinzufügen. Windows XP Service Pack 2 Support Tools
Liste der Windows-Umgebungsvariablen
Hier ist eine Liste von Standardumgebungsvariablen , die in Windows eingebaut sind. Einige Beispiele sind:C:\Program Files
, setx
, %WINDIR%
, %SystemRoot%
und %USERPROFILE%
. Wie die meisten Namen in Windows unterscheiden diese nicht zwischen Groß- und Kleinschreibung.
Unix-Derivate (FreeBSD, GNU / Linux, OS X)
Umgebungsvariablen in Linux werden mit einem Dollarzeichen ($) vorangestellt, wie z.B. $HOME oder $HOSTNAME. Viele bekannte und Standardvariablen werden in Großbuchstaben geschrieben, um genau das zu kennzeichnen. Beachten Sie, dass bei Variablennamen Groß- und Kleinschreibung unterschieden wird, was bedeutet, dass $User und $USER aus der Sicht der Shell völlig beziehungslos sind.
Unix-Derivate definieren systemweite Variablen in Shell-Skripten, die sich meistens im Ordner %APPDATA%
befinden, aber benutzerspezifische Werte können diesen Variablen in Skripten gegeben werden, die sich im Home-Ordner befinden (z.B. /etc
, /etc/profile
). Die Datei $HOME/.bash_profile
im Home-Ordner ist ein üblicher Ort zur Definition von Benutzervariablen.
Einstellung variables
Diese Dateien sind reguläre Shell-Skripte und können mehr als nur Deklarationen von Umgebungsvariablen enthalten. Um eine Umgebungsvariable zu setzen, verwenden Sie .profile
. Um Ihre aktuell definierten Umgebungsvariablen in einem Terminal anzuzeigen, führen Sie export
aus.
Der Befehl env
ist eine Standardmethode zur Definition von Variablen. Die Syntax ist sehr intuitiv. Das Ergebnis ist für diese beiden Zeilen identisch, aber die erste Alternative ist vorzuziehen, falls eine Portierbarkeit auf eine vor-POSIX Bourne-Shell erforderlich ist.
var=value; export var
export var=value
Die C-Shell und ihre Nachfahren verwenden eine völlig andere Syntax; dort lautet der Befehl export
.
Siehe das Linux-Dokumentationsprojekt, Pfad-HOWTO für eine gründlichere Diskussion zu diesem Thema.
Entgegen der landläufigen Meinung ist OS X vielleicht eher “Unix” als Linux. Zusätzlich zu den bereits erwähnten Dateien kann $PATH in diesen Dateien modifiziert werden:
setenv
enthält alle Standardverzeichnisse, die dem Pfad hinzugefügt werden, wie z.B. /etc/paths
und /bin
.
- Jede Datei in
/usr/sbin
- wird üblicherweise von Installationsprogrammen verwendet, um die von ihnen bereitgestellten ausführbaren Dateien von der Shell aus verfügbar zu machen, ohne systemweite oder benutzerspezifische Konfigurationsdateien zu berühren. Diese Dateien enthalten lediglich einen Pfad pro Zeile. z.B, /Programme/Mozilla/Kalender/bin.
Externe Links:
Umgebungsvariablen in XP
Windows XP Service Pack 2 Support Tools (enthält /etc/paths.d
)
Umgebungsvariablen in Windows Vista und Windows 7
Hinzufügen von ausführbaren Dateien zum Ausführen-Dialogfeld
Mac OSX-Tipps - Festlegen von Umgebungsvariablen
TLDP: Path Howto