/ / Wo soll ich umgebungsabhängige Konfigurationen für zsh platzieren? - zsh

Wo soll ich umgebungsabhängige Konfigurationen für zsh platzieren? - zsh

Zsh

Ich habe ein Repository auf Github, das aus den meisten meiner Punktedateien besteht, einschließlich Dateien wie .zshrc.

Wenn ich in eine neue Entwicklungsumgebung wechseln möchte, muss ich nur meine Punktedateien aus Github ziehen und sicherstellen, dass sie sich an den richtigen Stellen befinden.

Aber manchmal ist die neue Umgebung ganz anders als die alte, zum Beispiel muss ich möglicherweise von MacOS auf eine Linux-Distribution umsteigen.

Diese Unterschiede können dazu führen, dass meine Konfigurationen falsch sind. Daher frage ich mich, ob ich all diese umgebungsabhängigen Konfigurationen entfernen kann .zshrc und in einigen externen Dateien gespeichert.

Antworten:

2 für Antwort № 1

Sie können zusätzliche Dateien in Ihr laden ~/.zshrc mit source FILENAME.

Ich habe folgendes in meinem ~/.zshrc Dies gilt für alle Dateien mit der Erweiterung .zsh im ~/.zshrc.d

# load additional configuration
if [[ -d ~/.zshrc.d ]]; then
for file in ~/.zshrc.d/*.zsh; do
source "$file"
done
unset file
fi

Dort können Sie dann nur die Dateien ablegen, die Sie für eine bestimmte Umgebung benötigen.

Sie können sogar einen Schritt weiter gehen und ein Unterverzeichnis für jede Umgebung erstellen und nur das benötigte laden. Zum Beispiel basierend auf dem Inhalt von $OSTYPE:

if [[ -d ~/.zshrc.d/${OSTYPE} ]]; then
for file in ~/.zshrc.d/${OSTYPE}/*.zsh; do
source "$file"
done
unset file
fi

Verwandte Fragen
Bemerkungen
Einen Kommentar hinzufügen