Wenn ich es ausführe, env
wird es 3 Mal /usr/bin
unter PATH angezeigt. Dasselbe gilt für jeden Pfad unter PATH
dem Titel.
Beispielsweise wird mein Scala-Bin-Verzeichnis 3 Mal angezeigt.
In meinem .bash_profile steht es jedoch nur einmal. Auch in .bashrc steht es nicht. Ich muss diese 3 Vorkommen auf 1 reduzieren, denn obwohl ich einen Pfad unter PATH in .bash_profile entferne, wird es immer noch 2 Mal angezeigt, was bedeutet, dass der Pfad immer noch festgelegt ist.echo $PATH
zeigt dasselbe an.
Und falls es wichtig ist: Ich verwende Mac OSX.
Antwort1
Doppelte Pfade schaden nicht.
Wahrscheinlich gibt es irgendwo ein Skript, das die Pfadvariable überschreibt. Versuchen Sie Folgendes, um einzugrenzen, wo die Variable festgelegt wird.
Prüfen Sie, ob eine Umgebungsvariable den Pfad
zum Abmelden und erneuten Anmelden überschreibt.
echo $PATH
Prüfen Sie, ob für eine neue Shell der gleiche Pfad festgelegt ist
sudo su foo -
echo $PATH
Überprüfen Sie, ob sudo bei der ersten Anmeldung den Pfad festgelegt hat
sudo su foo -i
echo $PATH
Klingt, als hätten Sie bereits Ihre ~/.bashrc und ~/.bash_profile überprüft. Überprüfen Sie, ob sich in /etc/profile Skripte befinden.
Antwort2
OK..also, ich habe die Lösung gefunden.
Folgendes habe ich gemacht:-
1) vi ~/.bash_profile
2) Änderungen vornehmen
3) source ~/.bash_profile
diese Änderungen in Kraft sehen.
Es scheint, dass bei jeder Bearbeitung und jedem nachfolgenden Quellbefehl die aktuelle Sitzung vorübergehend erhalten bleibt.
Wenn ich also dreimal Änderungen vornehme und den nachfolgenden source
Befehl ausführe, wird dreimal der gleiche Pfad angezeigt, wenn ich dies tue echo $PATH
oder env
. Wenn ich das Terminal schließe und neu starte, wird alles wieder normal.
Es war also nur eine Frage des Neustarts des Terminals!!
Klarstellung:- Verschiedene Plattformen können unterschiedlich funktionieren. Ich habe festgestellt, dass macosx-10.7 auf diese Weise funktioniert.