.bash_profile o .bashrc para shell en emacs?

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

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım