Basta ya de investigar por todo internet ya que has llegado al lugar justo, tenemos la respuesta que buscas sin complicaciones.
Solución:
Solución 1:
.bash_profile
y .bashrc
son específicos para bash
mientras .profile
es leído por muchos shells en ausencia de sus propios archivos de configuración específicos de shell. (.profile
fue utilizado por el shell Bourne original.) .bash_profile
o .profile
es leído por shells de inicio de sesión, junto con .bashrc
; subcapas de solo lectura .bashrc
. (Entre el control de trabajos y los modernos sistemas de ventanas, .bashrc
por sí solo no se usa mucho. Si utiliza screen
o tmux
las pantallas/ventanas normalmente ejecutan subcapas en lugar de shells de inicio de sesión).
La idea detrás de esto era que la configuración de una sola vez fue realizada por .profile
(o versión específica de shell del mismo), y cosas por shell por .bashrc
. Por ejemplo, generalmente solo desea cargar las variables de entorno una vez por sesión en lugar de que las golpeen cada vez que inicia un subshell dentro de una sesión, mientras que siempre desea sus alias (que no se propagan automáticamente como lo son las variables de entorno).
Otros archivos de configuración de shell notables:
/etc/bash_profile
(retroceder /etc/profile
) se lee antes que la del usuario .profile
para la configuración de todo el sistema, y del mismo modo /etc/bashrc
en subcapas (no hay respaldo para este). Muchos sistemas, incluido Ubuntu, también usan un /etc/profile.d
directorio que contiene scriptlets de shell, que son .
(source
)-ed de /etc/profile
; los fragmentos aquí son por caparazón, con *.sh
se aplica a todos los shells compatibles con Bourne/POSIX y otras extensiones que se aplican a ese shell en particular.
Solución 2:
.perfil
.profile
es para cosas que no están específicamente relacionadas con Bash
como variables de entorno PATH
y amigos, y debe estar disponible en cualquier momento.
Por ejemplo, .profile
también debe cargarse al iniciar una sesión de escritorio gráfico.
.bashrc
.bashrc
es para configurar el uso interactivo de Bash, como Bash aliases
configurando tu favorito editor
configurando el Bash prompt
etc.
.bash_perfil
.bash_profile es para asegurarse de que tanto las cosas en .profile
y .bashrc
están cargados para login shells
.
Por ejemplo, .bash_profile
podría ser algo simple como
. ~/.profile
. ~/.bashrc
Si tuvieras que omitir .bashrc
solamente .profile
estaría cargado.
Solución 3:
De acuerdo con la página de manual de bash, .bash_profile
se ejecuta para shells de inicio de sesión, mientras que .bashrc
se ejecuta para shells interactivos sin inicio de sesión.
Entonces, ¿qué es un shell de inicio de sesión o de no inicio de sesión?
Cuando inicie sesión (escriba el nombre de usuario y la contraseña) a través de la consola, ya sea sentado en la máquina o de forma remota a través de ssh: .bash_profile
se ejecuta para configurar su shell antes del símbolo del sistema inicial. Pero, si ya inició sesión en su máquina y abrió una nueva ventana de terminal (xterm) dentro de Gnome o KDE, entonces .bashrc
se ejecuta antes del símbolo del sistema de la ventana. .bashrc
también se ejecuta cuando inicia una nueva instancia de bash escribiendo /bin/bash
en una terminal.
Una excepción a las pautas de la ventana de terminal es Terminal.app de Mac OS X, que ejecuta un shell de inicio de sesión de forma predeterminada para cada nueva ventana de terminal, llamando .bash_profile
en vez de .bashrc
. Otros emuladores de terminales GUI pueden hacer lo mismo, pero la mayoría tiende a no hacerlo.
Más aquí.
Calificaciones y comentarios
Si te animas, eres capaz de dejar un artículo acerca de qué le añadirías a esta división.