~/.profile, ~/.bashrc und ~/.bash_profile werden beim Start eines neuen Terminals nicht ausgeführt

StackOverflow https://stackoverflow.com//questions/25025799

Frage

Ich versuche, einen permanenten Alias ​​für mein Terminal zu erstellen.Ich habe den Alias ​​in meine zuvor leeren Dateien ~/.profile, ~/.bashrc und ~/.bash_profile eingefügt.Wenn ich ein neues Terminal starte, erkennt Bash den Alias ​​nicht, aber wenn ich einen davon beziehe, erkennt er ihn.Warum werden diese nicht ausgeführt, wenn ich ein Terminal öffne?Ich verwende OSX.

War es hilfreich?

Lösung

Bei der Verwendung müssen hier zwei Dinge passieren iTerm damit das Laden von Dotfiles funktioniert.

Zuerst sollten Sie Folgendes zu Ihrem hinzufügen .bash_profile

[[ -s ~/.bashrc ]] && source ~/.bashrc

Zweitens müssen Sie dies sicherstellen iTerm In den Einstellungen ist Ihr Terminal so eingestellt, dass eine Login-Shell gestartet wird.

iTerm Preferences

Hoffe das hilft!

Andere Tipps

Verwenden des Standard-Mac-Terminals, was für mich funktionierte, war, dass ein Befehl hinzugefügt wurde, um auf dem Start zu starten, um meine .bash_profile auszuführen.

Voreinstellungen> Profil> Startup> Befehl hinzufügen 'Quelle ~ / .bash_profile'

Mac Terminal-Voreinstellungen Fenster Screenshot

könnte als ein bisschen hacky angesehen werden, aber es tut der Trick.

Wie bei hoher Sierra, sowohl terminal als auch Iterm, möchten Sie zuerst ~ / ..profile laden.Ich schlage vor, dass Sie eine Zeile in Ihre .profile legen, um Ihre Mac-Arbeit wie andere Unixe zu machen:

Quelle ~ / .bash_profile

Wenn Sie diese eine Datei bearbeiten, müssen Sie nicht durch die Menüs mehrerer Apps suchen, um das bizarre Verhalten von Apples in jedem zu überschreiben.

Hinzufügen source ~/.profile zu meinem .bash_profile hat bei mir funktioniert.

Warum werden die Initialisierungsdateien Ihrer Shell nicht geladen?

Wie bei den meisten Dingen hängt es von ™ ab.

Ich habe kürzlich das gleiche Phänomen erlebt und durch die folgende Übung ging, um sie aufzulösen:

Ich verwende Iterm. Iterm führt standardmäßig eine Login-Shell aus. Überprüfen Sie in Iterm-Voreinstellungen> Allgemein> Befehl> (*) Login-Shell Daher weiß ich, dass ~ / .bash_profile immer aufgerufen wird.

zu wissen, dass ich in meiner ~ / .bash_profile-Datei folgendes lege:

generasacodicetagpre.

Beachten Sie, dass ich separate Dateien für .bashrc, .bash_exports usw. verwende, hält die Dinge getrennt und einfach.

Note Hinweis Auch das / Profil wird zuerst geladen, aber da ich noch nie diese systemweite Init-Datei verwendet habe, wusste ich, dass dies nicht mein Problem war. Für Details Check Out $ man bash

Ich habe also mit meiner Datei ~ / .bash_profile angefangen.

Ich habe festgestellt, dass, wenn ich canopy express , dass das Installationsprogramm den Inhalt meiner ~ / ersetzt hat .bash_profile-Datei mit dem folgenden Inhalt:

generasacodicetagpre.

p.s. Baldachin ist eine ausgezeichnete, kostenlose Python-IDE, die ich dringend empfehle.

Glücklicherweise birufe ich meine ~ / .bash * -Dateien, also wiederherstellen, das war einfach und schnell mein Problem behoben.

Mein Rat könnte sein, die Reihenfolge der Anrufe auf Ihre Initialisierungsdateien zu verstehen, und beginnt mit dem ersten und arbeiten Sie durch sie, bis Sie das Problem finden.

oh, und Sie möchten möglicherweise überprüfen, welche Shell Sie verwenden (ich verwende Bash):

generasacodicetagpre.

Ich vermute, Sie verwenden möglicherweise eine andere Shell, z. B. Bash, tcsh, sh, zsh usw.

Setzen source .bash_profile in Ihre entsprechende „bashrc“-Datei wird das automatische Laden wiederhergestellt, d. h.

.login für tcsh, .bash_profile für bash, .zshrc für zsh

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top