Respuestas:
~/.profile
solo se carga cuando se ejecuta zsh
en sh
modo de compatibilidad, de lo contrario se lee .zprofile
, tanto como .zshrc
para interactivo y .zlogin
para shells de inicio de sesión.
Su propósito se desarrolla a partir de cuando están cargados. Como .zshrc
se carga para shells interactivos, establece los alias, etc. que esperas en tales casos allí.
.profile
también tiene la propiedad adicional de que está cargado por varios shells (por ejemplo, bash
, a menos que encuentre algo más específico; o ksh
) de una forma u otra, para que pueda almacenar la configuración de múltiples shells en este archivo.
Extractos relevantes de man zshall
, énfasis mío:
ARCHIVOS DE INICIO / APAGADO
Los comandos se leen primero desde/etc/zshenv
; [...]Los comandos se leen desde
$ZDOTDIR/.zshenv
. Si el shell es un shell de inicio de sesión, los comandos se leen desde/etc/zprofile
y entonces$ZDOTDIR/.zprofile
. Luego, si el shell es interactivo, los comandos se leen desde/etc/zshrc
y entonces$ZDOTDIR/.zshrc
. Por último, si el shell es un shell de inicio de sesión,/etc/zlogin
y$ZDOTDIR/.zlogin
se leenCOMPATIBILIDAD
Zsh intenta emular sh o ksh cuando se invoca como sh o ksh respectivamente; [...]No se ejecutan los scripts habituales de inicio / apagado de zsh . Inicio de sesión shells source
/etc/profile
seguido por$HOME/.profile
. Si la variable de entorno ENV se establece en la invocación,$ENV
se obtiene después de los scripts de perfil. El valor deENV
está sujeto a la expansión de parámetros, la sustitución de comandos y la expansión aritmética antes de ser interpretado como una ruta de acceso. Tenga en cuenta que la opción PRIVILEGIADA también afecta la ejecución de los archivos de inicio.
la wiki zsh tiene un bonito vista general de los archivos de configuración zsh , incluyendo el orden de ejecución y algunas recomendaciones sobre cómo estructurarlos. Vale la pena leer IMO.