it-swarm.com.de

Wo ist PATH in Ubuntu 16.10 Bash-Shell eingerichtet?

Ich kann anscheinend nicht feststellen, wo die Umgebungsvariable bash PATH bei meiner neuen Ubuntu 16.10-Installation eingerichtet wird.

Ich habe versucht, echo $PATH Anweisungen am Anfang von ~/.bashrc und sogar /etc/bash.bashrc zu platzieren. Beide echo-Anweisungen werden ausgeführt, sodass diese Dateien ordnungsgemäß geladen werden. In beiden Fällen enthält das PATH jedoch bereits Folgendes:

/home/carl/bin:/home/carl/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Die ersten Einträge (/home/carl/bin:/home/carl/.local/bin) versuche ich aufzuspüren. Ich bin mir nicht wirklich sicher, wo die Werte eingestellt sind, da die Änderung von /etc/environment keine Auswirkungen zu haben scheint.

Das PATH wird auch eingerichtet, wenn /etc/profile ausgeführt wird, wenn eine Anmeldeshell verwendet wird, und bleibt auch von Änderungen an /etc/environment unberührt.

1
Carl Zulauf

Es hat sich herausgestellt, dass der PFAD beim Laden von ~/.profile (und /etc/profile und /etc/environment) durch den Display-Manager beibehalten wurde, als eine Desktopsitzung erstellt wurde. Dies bedeutet, dass Änderungen an diesen Dateien nicht in neuen Bash-Sitzungen berücksichtigt werden und eine Abmeldung erforderlich ist, damit sie wirksam werden.

3
Carl Zulauf

sie können dies herausfinden, indem Sie bash in den Debug- und Login-Modi ausführen, was ziemlich aufschlussreich ist

/bin/bash -xl

Es wird eine Menge ausgegeben, aber Sie sollten in der Lage sein, die gesamte Kette des Ladens von Dateien und Ändern von $ PATH zu sehen.

2
Amias