Я понимаю, что ~ / .zshenv
получает источник каждый раз, когда запускается экземпляр zsh
.
Это означает, что следующая строка ~ / .zshenv
приведет к бесконечной регрессии:
(echo "$$ $(date)" >> $HOME/.debug.zshenv)
... потому что (...)
представляет подоболочку, и, следовательно, другой источник ~ / .zshenv
и т. д. 1
Несмотря на это рассуждение, строка, показанная выше, является безобидный, AFAICT. В частности, $ HOME / .debug.zshenv
показывает только одну строку после того, как я запускаю новую оболочку с помощью
% zsh
Очевидно, ~ / .zshenv
не получает источник заново при вычислении строки выше. Почему бы и нет?
1 В этом отношении выражение $ (date)
также влечет за собой создание подоболочки.