# Umgebungsvariablen dauerhaft bereitstellen



## enrix (6. Oktober 2009)

Hallo,
ich habe unter opensuse 11.1 Umgebungsvariablen JAVA_HOME und MAVEN_HOME gesetzt und exportiert. wenn ich das getan habe, kann ich die variablen im Rahmen der bash-session auslesen und auch verwenden. Beende ich die aktuelle Sitzung haben sich die Einstellung der Umgebungsvariablen jedoch wieder verflüchtigt. 

Wie kann man in Linux (opensuse) Umgebungsvariablen dauerhaft für einen Benutzer beritstellen?

MFG 
Enrix


----------



## Navy (6. Oktober 2009)

Die Bash liest folgende Dateien der Reihenfolge nach aus:


/etc/profile
~/.bash_profile
~/.bash_login
~/.profile

willst Du die Variablen nur für den User verfügbar machen, reicht es, die  ~./.bash_profile anzupassen, soll es für alle User sein, die /etc/profile


----------



## Raubkopierer (6. Oktober 2009)

Ich möchte noch hinzufügen, dass die meisten Distributionen einen Ordner /etc/profile.d haben in denen Applicationen und der Nutzer Scripts für env-variablen ablegen können ohne, dass diese durch Updates des Systems etc. beeinflusst werden können und dies in meinen Augen der elegantere Weg ist.

D.h. du legst einfach ein Skript mit folgendem Inhalt an


```
#!/bin/sh

YOUR_ENV="your value"
export YOUR_ENV
```

speicherst sie entsprechend als your_script.sh in /etc/profile.d ab und fügst einen execute flag hinzu damit die Datei ausführbar wird.


```
chmod +x /etc/profile.d/your_script.sh
```

Das ganze natürlich mit root-Rechten, da die Änderungen sonst nicht durchführbar sind.


----------



## enrix (8. Oktober 2009)

danke für die hilfe, kannst du mir vielleicht noch kurz sagen, wie man ein execute-flag schreibt?
Achso, das execute-flag ist in dem fall, dass Recht aller User die Datei auszuführen


----------



## Raubkopierer (8. Oktober 2009)

Dazu kannst du die manpage von chmod lesen. Prinzipiell setzt chmod +x diese Berechtigung wie im oben stehenden Codebeispiel.

Edit zum Edit: exakt


----------

