我應該在哪裡放置 zsh 的環境相關配置?

我應該在哪裡放置 zsh 的環境相關配置?

我在 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

相關內容