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/profile
a continuación, la primera lectura de~/.bash_profile
,~/.bash_login
y~/.profile
- Si es interactivo + shell sin inicio de sesión →
/etc/bash.bashrc
entonces~/.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
rshd
orsshd
, bash sources~/.bashrc
(pero no~/.bash_profile
o~/.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
.bashrc
en una configuración no interactiva realmente puede contar como inesperada), ni ninguna verificación de ningún contexto sensible a la seguridad.