Herausfinden, wo eine Umgebungsvariable festgelegt ist

Herausfinden, wo eine Umgebungsvariable festgelegt ist

Ich habe das Problem, dass meins http_proxyfalsch eingestellt ist, wenn ich ein neues Terminal starte:

» echo $http_proxy 
http://http://127.0.0.1:1234/

Was ... schlecht ist. Ich habe irgendwo in meinem Umgebungs-Setup einen Fehler. Versuchen wir, ihn zu finden. Dazu zeige ich den Wert der Variable ganz am Anfang von an .bashrc. Ich erstelle eineneuTerminal, und der falsche Wert ist für mich bereits sichtbar:

http_proxy=http://http://127.0.0.1:1234/
» 

Ok, also muss eines davon wahr sein:

  1. der Desktop-Prozess (der das Terminal startet) exportiert bereits den falschen Wert,
  2. Der Wert wird festgelegt durchbash Vor .bashrcwird analysiert

Lassen Sie mich die Umgebung des übergeordneten Prozesses der aktuellen Shell überprüfen:

» pstree -ahp myuser
...
  ├─gnome-terminal-,3807
  │   ├─bash,3814
  │   │   └─pstree,17329 -ahp myuser

Lassen Sie uns die Umgebung des übergeordneten Prozesses überprüfen gnome-terminal:

» cat /proc/3807/environ | tr \\0 \\n | grep -i http_proxy

Nichts, null, nada!

Wie wäre es mit bash?

» cat /proc/3814/environ | tr \\0 \\n | grep -i http_proxy
HTTP_PROXY=http://http://127.0.0.1:1234/
http_proxy=http://http://127.0.0.1:1234/

Wie erwartet ist es da (das entspricht echo $http_proxynatürlich „doing“ oder „doing“ cat /proc/self/environ).

Es ist also nicht in gnome-terminal, aber es ist in bash. Es muss beim Laden woanders eingestellt werden bash,Vor .bashrc. Ich habe .profileauch versucht, es zu überprüfen, aber ohne Erfolg.

Was könnte vorher passiert sein .bashrc? Welche anderen Ideen zur Fehlerbehebung haben Sie?

verwandte Informationen