Provavelmente o que aconteceu é que o ZSH vem com o padrão X ( /etc/zprofile ) e seu fornecedor mudou para Y ( /etc/zsh/profile ) sem corrigir a documentação referente a X. Em outras palavras, leia a documentação sobre caminhos de arquivo com um grão de sal, especialmente onde um parente moderno de Procrustes tem calçadão ZSH em algum padrão de hierarquia de arquivos ou o outro.
Às vezes, com strings , é possível descobrir esses violinos com caminhos de arquivos:
strings =zsh | grep profile
Ou rastreando as chamadas do sistema e vendo quais arquivos zsh tocam, por exemplo, no Linux via strace ou sysdig :
strace -o grepme zsh -ic exit
fgrep profile grepme
Na verdade, zsh é bom em dizer quais arquivos estão sendo lidos:
zsh -ixc exit 2>&1 | fgrep profile