Ausführungsreihenfolge und Zweck von .profile vs .zshrc

2411
JAM

Wenige Fragen:

  • Was ist ein bestimmter Zweck von .profileund .zshrc?
  • Was wird zuerst genannt, wenn die Hülle zum Leben erweckt wird?
3

2 Antworten auf die Frage

6
Daniel Beck

~/.profilegeladen wird nur beim Laufen zshim shKompatibilitätsmodus, sonst liest sie .zprofile, sowie .zshrcfür interaktive und .zloginfür Login - Shells.

Ihr Zweck entwickelt sich aus, wenn sie geladen werden. Da .zshrcfür interaktive Shells geladen, legen Sie die Aliasnamen usw. fest, die Sie in solchen Fällen dort erwarten.

.profilehat die zusätzliche Eigenschaft, dass sie auch von mehreren anderen Shells geladen wird (z. B. bashwenn sie etwas genaueres findet; oder ksh) auf die eine oder andere Weise, sodass Sie die Konfiguration für mehrere Shells in dieser Datei speichern können.

Relevante Auszüge aus man zshall, Schwerpunkt meiner:

START- / SHUTDOWN-DATEIEN
Befehle werden zuerst gelesen /etc/zshenv; [...]

Befehle werden dann gelesen $ZDOTDIR/.zshenv. Wenn die Shell eine Login-Shell ist, werden Befehle von /etc/zprofileund gelesen $ZDOTDIR/.zprofile. Wenn die Shell interaktiv ist, werden die Befehle von /etc/zshrcund gelesen $ZDOTDIR/.zshrc. Schließlich, wenn die Shell eine Login-Shell ist, /etc/zloginund $ZDOTDIR/.zlogin gelesen werden.

KOMPATIBILITÄT
Zsh versucht, sh oder ksh zu emulieren, wenn es als sh bzw. ksh aufgerufen wird. [...]

Die üblichen zsh-Skripts zum Starten / Herunterfahren werden nicht ausgeführt . Login-Shells-Quelle /etc/profilegefolgt von $HOME/.profile. Wenn die ENV-Umgebungsvariable beim Aufruf festgelegt ist, $ENVwird nach den Profilskripts angegeben. Der Wert von ENVwird einer Parametererweiterung, Befehlssubstitution und Arithmetikerweiterung unterzogen, bevor er als Pfadname interpretiert wird. Beachten Sie, dass die Option PRIVILEGED auch die Ausführung von Startdateien beeinflusst.

//, wären Sie bereit, ein Beispiel hinzuzufügen? Angenommen, sowohl .profile als auch .zprofile sind vorhanden, aber zsh wird im Kompatibilitätsmodus ausgeführt. Nathan Basanese vor 8 Jahren 1
1
jeffmcc

Das zsh-Wiki bietet einen schönen Überblick über die zsh-Konfigurationsdateien, einschließlich der Reihenfolge der Ausführung und einigen Empfehlungen zur Strukturierung. Lesen Sie IMO.