展望让我~一个更清洁的地方,我想移动尽可能多的用户配置文件导入$XDG_CONFIG_HOME,这是~/.config默认。所以我想将我所有的 zsh 用户文件存储在$XDG_CONFIG_HOME/zsh/. 到目前为止已经有了这个:
% ls $XDG_CONFIG_HOME/zsh/
histfile zsh_cache zshrc
Run Code Online (Sandbox Code Playgroud)
很简单,你只需要填写你的~/.zshrc. 现在最棘手的部分似乎是让 zsh 直接读取 $XDG_CONFIG_HOME/zsh/zshrc 而无需从 ~/.zshrc 获取它。你将如何进行?
可以编辑/etc/zsh/zshenv以设置$XDG_CONFIG_HOME目录和$ZDOTDIR. 不过,这需要对此文件的写权限。
因此,$HOME如果 zsh 读取时定义了它(我不知道是不是这种情况),您可以添加到您的/etc/zsh/zshenv:
if [[ -z "$XDG_CONFIG_HOME" ]]
then
export XDG_CONFIG_HOME="$HOME/.config/"
fi
if [[ -d "$XDG_CONFIG_HOME/zsh" ]]
then
export ZDOTDIR="$XDG_CONFIG_HOME/zsh/"
fi
Run Code Online (Sandbox Code Playgroud)
最好不要将 a/放在包含特定路径的任何变量的末尾。
例如,$XDG_CONFIG_HOME/zsh转换为"$HOME/.config//zsh"并/重复因为XDG_CONFIG_HOME以/.
所以我认为你的答案应该是——
if [[ -z "$XDG_CONFIG_HOME" ]]
then
export XDG_CONFIG_HOME="$HOME/.config"
fi
if [[ -d "$XDG_CONFIG_HOME/zsh" ]]
then
export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
fi
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5667 次 |
| 最近记录: |