我在 github 上有一个存储库,其中包含我的大部分点文件,包括像.zshrc
.
当我需要转移到新的开发环境时,我只需要从 github 中提取我的点文件并确保它们位于正确的位置。
但有时新环境与旧环境有很大不同,例如,我可能需要从 MacOS 迁移到某个 Linux 发行版。
这些差异可能会导致我的配置不正确,所以我想知道我是否可以将所有这些依赖于环境的配置移出.zshrc
并保存在一些外部文件中。
答案1
您可以使用 加载其他~/.zshrc
文件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