Permanente Speicherung von Änderungen an $ PATH [duplizieren]

3

Diese Frage hat hier bereits eine Antwort:

Ich habe Ruby und Homebrew eine Weile am Laufen und fange an, mit Bash zu spielen. Ich habe ein Problem mit meiner PATH-Variablen als echo'd festgestellt:

/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin??nexport

Wie Sie sehen, gibt es sowohl Redundanz als auch Junk am Ende der Form unzulässiger Zeichen (was eine Vielzahl anderer Probleme verursacht). Ich kann den Pfad mit ändern

export PATH="/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin"

was in der Tat den gewünschten Pfad zurückgibt, wenn es zurückgesendet wird:

/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin

Aber ich kann für mein ganzes Leben nicht herausfinden, wie ich den PFAD retten kann, damit er beim erneuten Öffnen nicht zurückgesetzt wird. Ich muss keine Pfade hinzufügen. Ich möchte dies nur zum neuen Wert dieser Variablen machen. Bitte, wie kann ich diese Änderung dauerhaft machen?

Tomm
quelle

Antworten:

3

Sie können einfach Ihre Export- Zeile PATH ... in Ihre Datei bash_profile einfügen . Diese Datei wird bei jedem Start von Terminal ausgeführt und ändert Ihre PATH-Variable wie gewünscht. Sie können dies von überall im Terminal mit öffnen / bearbeiten

 open ~/.bash_profile

Sie möchten wahrscheinlich auch überprüfen, ob es keine widersprüchlichen export PATH ... -Anweisungen gibt, die sich gegenseitig überschreiben.

xyzen
quelle
Okay, ich habe das gefunden und es hat in der Tat funktioniert, also bin ich ganz vorne mit dabei, aber da diese Datei ursprünglich leer war, wo befindet sich die Datei, in der die ursprüngliche Anweisung gespeichert ist? Kann das Original oder der Standard in irgendeiner Weise bearbeitet werden? Ich nehme das an, weil macports das geschafft hat, was es im ersten Schritt vermasselt hat. Oder machen wir hier keine Anschlussfragen? Wie auch immer, danke für die Antwort!
Tomm
Hmm, tut mir leid, dass einer ein bisschen außerhalb meiner Tiefe liegt. Ich hatte eine schnelle Suche, konnte aber nicht genau bestimmen, woher die Standardvariablen kommen. Ich überlasse das jemand anderem. Es könnte auch eine gute Idee sein, es in eine separate Frage aufzuteilen, da es wahrscheinlicher ist, dass es mehr Antworten hervorruft, und es für Leute, die in Zukunft nach der gleichen Frage suchen, einfacher ist. (Ich weiß jedoch nicht genau, wie die offiziellen Richtlinien zu Folgemaßnahmen
lauten
Überprüfen Sie .profile.
Cubuspl42
1
Oder grep -r "export PATH" /;)
cubuspl42
@ cubuspl42 ist insofern richtig, als es in deinem eingestellt sein kann .profile. Es kann auch (systemweit) in /etc/profileoder gesetzt werden /etc/bashrc, obwohl es dort nicht standardmäßig gesetzt ist. Es gibt auch die Datei, /etc/pathsdie eine Liste von Verzeichnissen enthält, die in $ PATH aufgenommen werden sollen, und das Verzeichnis, /etc/paths.ddas weitere Anpassungen enthält.
Forquare