
Ich habe ein Repository auf GitHub, das aus den meisten meiner Dot-Dateien besteht, einschließlich Dateien wie .zshrc
.
Wenn ich in eine neue Entwicklungsumgebung wechseln muss, muss ich nur meine Punktdateien von GitHub abrufen und sicherstellen, dass sie sich an den richtigen Stellen befinden.
Manchmal unterscheidet sich die neue Umgebung jedoch erheblich von der alten. Beispielsweise 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 alle diese umgebungsabhängigen Konfigurationen aus .zshrc
externen Dateien verschieben und in diesen speichern kann.
Antwort1
Sie können zusätzliche Dateien in Ihr laden ~/.zshrc
mit source FILENAME
.
Ich habe folgendes in meinem ~/.zshrc
dafür zu tun für alle Dateien mit der Erweiterung .zsh
in~/.zshrc.d
# load additional configuration
if [[ -d ~/.zshrc.d ]]; then
for file in ~/.zshrc.d/*.zsh; do
source "$file"
done
unset file
fi
Sie können dort dann nur die Dateien ablegen, die Sie für eine bestimmte Umgebung benötigen.
Sie können sogar noch einen Schritt weiter gehen und für jede Umgebung ein Unterverzeichnis erstellen und nur das benötigte laden. Beispielsweise 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