Pregunta:
Escribí un alias para un comando enorme y lo .bash_profile
en .bash_profile
y, para mi sorpresa, emacs no recogió el alias que escribí en .bash_profile
. Después de buscar en Internet, creé un archivo .bashrc
en mi $ HOME con el comando alias y solo después de eso, emacs tomó el alias. Estoy confundido porque terminal.app toma alias de .bash_profile
pero emacs solo toma alias en .bashrc
.
Estaba ejecutando Mx shell y estoy en macOS. ¿Alguien puede explicarme cuál es la relación con emacs y .bashrc
& .bash_profile
?
Más concretamente, ¿cómo puedo hacer que Emacs lea mi .bash_profile
además de .bashrc
?
Respuesta:
Este es el comportamiento correcto. .bash_profile
es para los llamados shells de inicio de sesión. Como cuando inicia sesión en su computadora en modo texto, o en un emulador de terminal a una computadora diferente a través de ssh
o telnet
o …
.bashrc
está diseñado para shells que no son de inicio de sesión, como cuando ya está conectado y comienza un nuevo xterm, o en este caso, el modo shell
emacs.
Por lo general, el .bash_profile
contiene comandos para leer en .bashrc
:
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
por lo que el .bashrc
se lee en cada inicio.
Entonces, los alias pertenecen a .bashrc
; También es habitual crear un .bash_aliases
separado e incluirlo en .bashrc
través de la misma construcción:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi