Hasta donde yo sé, los shells interactivos pueden iniciar sesión o no iniciar sesión, y los archivos de inicio para ellos son diferentes.
- Si intérprete interactivo de ingreso + →
/etc/profilea continuación, la primera lectura de~/.bash_profile,~/.bash_loginy~/.profile - Si es interactivo + shell sin inicio de sesión →
/etc/bash.bashrcentonces~/.bashrc
Quiero establecer algunas variables cada vez que uso un shell interactivo, independientemente de si es un shell de inicio de sesión o no.

Respuestas:
No, no hay Sí, este es un defecto de diseño.
Use el siguiente contenido en
~/.bash_profile:Tenga en cuenta que bash tiene una peculiaridad aún más extraña: cuando se trata de un shell de inicio de sesión no interactivo y el proceso principal es
rshdorsshd, bash sources~/.bashrc(pero no~/.bash_profileo~/.profile). Por lo tanto, es posible que desee poner esto en la parte superior de su.bashrc:Consulte también ¿ Diferencia entre .bashrc y .bash_profile y Diferencia entre Shell de inicio de sesión y Shell sin inicio de sesión?
fuente
.bashrcen una configuración no interactiva realmente puede contar como inesperada), ni ninguna verificación de ningún contexto sensible a la seguridad.