
我在 github 上有一個存儲庫,其中包含我的大部分點文件,包括.zshrc
.
當我需要遷移到新的開發環境時,我只需要從 github 中提取我的點檔案並確保它們位於正確的位置。
但有時新環境與舊環境有很大不同,例如,我可能需要從 MacOS 遷移到 Linux 的某個發行版。
這些差異可能會使我的配置不正確,因此我想知道是否可以將所有這些依賴環境的配置移出.zshrc
並保存在某些外部文件中。
答案1
~/.zshrc
您可以在with中載入其他文件source FILENAME
。
我對所有擴展名為~/.zshrc
的檔案執行以下操作.zsh
~/.zshrc.d
# load additional configuration
if [[ -d ~/.zshrc.d ]]; then
for file in ~/.zshrc.d/*.zsh; do
source "$file"
done
unset file
fi
然後,您可以只將特定環境所需的文件放在那裡。
您甚至可以更進一步,為每個環境建立子目錄並僅載入所需的子目錄。例如基於以下內容$OSTYPE
:
if [[ -d ~/.zshrc.d/${OSTYPE} ]]; then
for file in ~/.zshrc.d/${OSTYPE}/*.zsh; do
source "$file"
done
unset file
fi