ubuntuusers.de

Variable in /etc/environment wird nicht interpretiert

Status: Ungelöst | Ubuntu-Version: Ubuntu 9.04 (Jaunty Jackalope)
Antworten |

Toddy69

Anmeldungsdatum:
9. Mai 2007

Beiträge: Zähle...

Ich habe folgendermaßen versucht über die /etc/environment meine Umgebungsvariablen zu erweitern:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
PATH=/usr/local/texlive/2008/bin/i386-linux:$PATH

Aus irgendeinem Grund wird $PATH hier aber nicht interpretiert, und echo $PATH liefert mir:

/usr/local/texlive/2008/bin/i386-linux:$PATH

Nun zu den Fragen:

1.Warum wird das nicht interpretiert? Ich war bis jetzt der Meinung, die Datei wird von der Shell aufgerufen, und müßte demnach wie in jedem anderen Shell-Script auch expandiert werden.

2. Gibt es eine alternative Syntax, um eine derartige Stückelung zu erzielen? Wäre nämlich viel angehmer um die Änderung zu dokumentiert, und sie später schneller wieder rückgängig machen zu können.

DrScott Team-Icon

Ehemalige
Avatar von DrScott

Anmeldungsdatum:
7. Juli 2005

Beiträge: 6018

Wohnort: Nürnberg

Toddy69 schrieb:

1.Warum wird das nicht interpretiert? Ich war bis jetzt der Meinung, die Datei wird von der Shell aufgerufen, und müßte demnach wie in jedem anderen Shell-Script auch expandiert werden.

Die Datei wird unterschiedlich verwendet. Manchmal wird sie auch von Shellscripten "gesourced", und da würde dann in der Tat Expansion stattfinden. Beim Login auf einer Konsole wird die Datei aber mittels "pam" interpretiert. In der Datei /etc/pam.d/login findest Du

session       required   pam_env.so readenv=1

Ein man pam_env liefert

This module can also parse a file with simple KEY=VAL pairs on seperate lines (/etc/environment by default).

Die Syntax ist also in diesem Kontext ganz simpel "KEY=VAL". Punkt.

2. Gibt es eine alternative Syntax, um eine derartige Stückelung zu erzielen? Wäre nämlich viel angehmer um die Änderung zu dokumentiert, und sie später schneller wieder rückgängig machen zu können.

Kommentare scheinen auch möglich zu sein. Also einfach Original kommentieren und eine erweiterte Kopie aktivieren.

Toddy69

(Themenstarter)

Anmeldungsdatum:
9. Mai 2007

Beiträge: 4

Daran hab ich auch schon gedacht, nur soll auch noch MANPATH und INFOPATH erweitert werden, und die stehen irgendwo anders, allerdings werden sie schon vor der /etc/environment gesetzt. Gibt es noch eine andere Datei, in der ich das setzten könnte, und sowohl in BASH, SH, Gnome und vor allem auch für root Beachtung findet?

Antworten |