Wie kann ich Umgebungsvariablen in Cygwin dauerhaft setzen?
- Einleitung
- Grundlagen zu Umgebungsvariablen in Cygwin
- Temporäres Setzen von Umgebungsvariablen
- Dauerhaftes Setzen: Verwendung von Startdateien
- Schritt-für-Schritt Beispiel
- Aktivieren der Änderungen
- Alternative: ~/.bashrc oder ~/.profile
- Systemweite Umgebungsvariablen in Cygwin setzen
- Zusammenfassung
Einleitung
In Cygwin, einer Linux-ähnlichen Umgebung für Windows, ist es oft wichtig, Umgebungsvariablen dauerhaft zu setzen, damit diese bei jedem Start der Shell automatisch geladen werden. Das dauerhafte Setzen von Umgebungsvariablen unterscheidet sich leicht vom temporären Setzen im aktuellen Terminal. Hier wird ausführlich erklärt, wie man Umgebungsvariablen in Cygwin so konfiguriert, dass sie dauerhaft und automatisch bei jedem Start der Shell zur Verfügung stehen.
Grundlagen zu Umgebungsvariablen in Cygwin
Umgebungsvariablen sind Schlüssel-Wert-Paare, die von der Shell und anderen Programmen verwendet werden, um Konfigurationen und Einstellungen zu speichern. In Cygwin werden diese Variablen ähnlich wie in Linux verwaltet, da Cygwin eine POSIX-kompatible Umgebung bietet.
Temporäres Setzen von Umgebungsvariablen
Wird eine Umgebungsvariable nur temporär gesetzt, geschieht das typischerweise direkt in der Shell. Zum Beispiel:
export MEINE_VAR="mein_wert"Diese Variable steht dann in der aktuellen Shell-Sitzung zur Verfügung, geht aber verloren, sobald die Shell geschlossen wird.
Dauerhaftes Setzen: Verwendung von Startdateien
Um eine Umgebungsvariable dauerhaft zu setzen, muss sie in eine der Startdateien geschrieben werden, die von der Shell bei jedem Start eingelesen werden. Bei Cygwin ist die Standard-Shell oft bash. Die wichtigsten Startdateien sind ~/.bashrc, ~/.bash_profile oder ~/.profile. Welche Datei genutzt wird, hängt vom Login-Verhalten der Shell ab.
Die .bashrc-Datei wird bei einem interaktiven, nicht-login Shell-Start ausgeführt, während .bash_profile oder .profile bei einem Login-Shell-Start ausgeführt wird. Cygwin öffnet standardmäßig Login-Shells, daher ist ~/.bash_profile eine gute Wahl. Falls diese Datei nicht existiert, können Sie sie anlegen.
Schritt-für-Schritt Beispiel
Öffnen Sie zuerst die Cygwin-Shell. Um die .bash_profile zu bearbeiten oder anzulegen, verwenden Sie einen Texteditor wie vim, nano oder vi:
nano ~/.bash_profileFügen Sie am Ende der Datei eine Zeile hinzu, die Ihre Umgebungsvariable setzt. Zum Beispiel:
export MEINE_VAR="mein_wert"Speichern Sie die Datei und schließen Sie den Editor. Wenn Sie eine weitere Variable hinzufügen möchten, fügen Sie einfach weitere export-Zeilen hinzu.
Aktivieren der Änderungen
Damit die Änderungen wirksam werden, müssen Sie die neue Startdatei entweder neu einlesen oder die Shell neu starten. Um die Datei ohne Neustart einzulesen, verwenden Sie:
source ~/.bash_profileDanach steht die Umgebungsvariable in der aktuellen Shell-Sitzung zur Verfügung. Überprüfen können Sie die Variable mittels:
echo $MEINE_VARAlternative: ~/.bashrc oder ~/.profile
Ist Ihre Shell Konfiguration anders oder Sie verwenden interaktive, nicht-login Shells, können Sie Umgebungsvariablen auch in ~/.bashrc oder ~/.profile setzen. Wenn Sie die Variable in .bashrc setzen, sollten Sie sicherstellen, dass die .bash_profile diese auch einliest. Ein typischer Eintrag in .bash_profile ist:
if ; then . ~/.bashrcfiDadurch wird die .bashrc in Login-Shells mitgeladen, somit sind die Umgebungsvariablen konsistent in allen Shell-Sitzungen verfügbar.
Systemweite Umgebungsvariablen in Cygwin setzen
Möchten Sie Umgebungsvariablen für alle Benutzer setzen, können Sie die Datei /etc/profile oder /etc/bash.bashrc bearbeiten. Da diese Dateien systemweit gelten und Administratorrechte benötigen, sollten Sie vorsichtig vorgehen. Die Vorgehensweise ist ähnlich, hier fügen Sie ebenfalls export-Zeilen hinzu, z.B.:
export MEINE_VAR="mein_wert"Nach der Änderung müssen alle Benutzer ihre Sessions neu starten, um die Variablen zu übernehmen.
Zusammenfassung
Für die meisten Benutzer empfiehlt es sich, Umgebungsvariablen in der Datei ~/.bash_profile dauerhaft zu setzen. Dabei wird mit export VARIABLE="wert" die Variable definiert. Nach dem Speichern und einmaligen neu Laden der Datei mit source ~/.bash_profile sind die Variablen dauerhaft für alle zukünftigen Shell-Sitzungen verfügbar. Je nach Shell-Konfiguration können auch .bashrc oder andere Startdateien genutzt werden. Für systemweite Einstellungen sind /etc/profile oder ähnliche Dateien zuständig.
