PATH
Ich habe eine Funktion, die doppelte Kopien von Verzeichnissen aus meiner Umgebungsvariable entfernen soll . Ich habe einige Duplikate erstellt, damit ich sie testen kann, aber ich weiß nicht, wie ich das mache:
1) Legen Sie das Skript in die $HOME/.bashrc
Datei
Antwort1
Bearbeiten Sie einfach die .bashrc
Datei (machen Sie vorsichtshalber vorher eine Kopie des Originals) und fügen Sie der Datei einfach eine Zeile mit dem Namen des Skripts hinzu, das Sie ausführen möchten (ganz unten .bashrc
wäre in Ordnung).
Wenn sich das Skript nicht in Ihrem Home-Verzeichnis befindet, geben Sie unbedingt den vollständigen Pfad an.
Antwort2
Die richtige Datei für Umgebungsvariablen wie PATH
ist nicht ~/.bashrc
aber ~/.profile
. .bashrc
ist eine Konfigurationsdatei für interaktive Shells; .profile
ist das Sitzungsstartskript. SieheGibt es eine „.bashrc“-Äquivalentdatei, die von allen Shells gelesen wird?.
Bash ist mit seinen Startdateien etwas eigenartig: In Login-Shells liest es, ~/.bash_profile
ob es existiert und ~/.profile
andernfalls. In interaktiven Nicht-Login-Shells liest es ~/.bashrc
. Es gibt keinen Grund, interaktive Einstellungen in interaktiven Login-Shells nicht zu laden, und es gibt viele Setups, in denen die Session-Start-Shell nicht als Login-Shell aufgerufen, sondern ~/.profile
explizit gelesen wird. Stellen Sie also sicher, dass Ihre ~/.bash_profile
nur diese beiden Zeilen enthalten:
. ~/.profile
case $- in *i*) . ~/.bashrc;; esac
Wenn Sie Dinge in hatten ~/.bash_profile
, verschieben Sie sie nach , ~/.profile
wenn es Dinge wie Umgebungsvariableneinstellungen sind, und nach , ~/.bashrc
wenn es interaktive Shell-Konfigurationen wie Aliase und Tastenkombinationen sind. Platzieren Sie alle Ihre PATH
Manipulationen in ~/.profile
.