zsh 大多数时候都会忽略 zshrc (但并非总是如此)

zsh 大多数时候都会忽略 zshrc (但并非总是如此)

因此,当我打开一个新终端(kitty)时,我的~/.zshrc资源非常好,oh-my-zsh 可以工作,插件以及 p10k 主题都会加载。例如,如果我简单地运行zsh(或tmux),我会得到一个来源良好的外壳/etc/zshrc,但它甚至从未尝试检查是否~/.zshrc存在。 (我检查过zsh -x。我还设置了来自$ZDOTDIR/zshrc$ZDOTDIR/.zshrc(以防万一)的符号链接指向同一个文件~/.zshrc。)

我仔细检查了/etc/passwd一下以确认我的用户将 zsh 作为默认 shell。这是使用 NixOS 的配置进行设置的。该配置的相关部分:

programs.zsh.enable = true;
users.defaultUserShell = pkgs.zsh;
environment.shells = with pkgs; [ zsh ];

我还没有发现/etc/zshenv或中有任何奇怪的地方/etc/zshrc

我已经检查过我在上述所有情况下使用的 shell 确实是 zsh,并且与新终端窗口中默认运行的 shell 相同。

权限没有什么奇怪的。

如果我运行,source ~/.zshrc看起来一切都按预期运行。

奇怪的是,我确实更新了PATH我的.zshrc,并且更新实际上持续存在,但诸如此类的东西(仅作为示例)ZSH_THEME是空的。

有人遇到过这种情况吗?或者也许只是一个我还没有尝试去哪里寻找的想法?

哦,一切都更新了,大约一个小时前。

答案1

因此,经过无休止的摆弄,甚至在我的桌面上从 NixOS 切换到 Arch 后,我终于弄清楚了问题所在!事实证明,当我开始时,我ZDOTDIR不仅.zshrc zsh开始忽略其中的一个~/,而且还忽略其中的一个$ZDOTDIR/。我很确定它一开始并没有开始忽略它,这就是为什么我之前没有意识到这是问题所在......

相关内容