So führen Sie eine Funktion in der .profile-Datei aus

So führen Sie eine Funktion in der .profile-Datei aus

PATHIch 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/.bashrcDatei

Antwort1

Bearbeiten Sie einfach die .bashrcDatei (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 .bashrcwä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 PATHist nicht ~/.bashrcaber ~/.profile. .bashrcist eine Konfigurationsdatei für interaktive Shells; .profileist 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_profileob es existiert und ~/.profileandernfalls. 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 ~/.profileexplizit gelesen wird. Stellen Sie also sicher, dass Ihre ~/.bash_profilenur diese beiden Zeilen enthalten:

. ~/.profile
case $- in *i*) . ~/.bashrc;; esac

Wenn Sie Dinge in hatten ~/.bash_profile, verschieben Sie sie nach , ~/.profilewenn es Dinge wie Umgebungsvariableneinstellungen sind, und nach , ~/.bashrcwenn es interaktive Shell-Konfigurationen wie Aliase und Tastenkombinationen sind. Platzieren Sie alle Ihre PATHManipulationen in ~/.profile.

verwandte Informationen