Saltar al contenido

¿Cuáles son las diferencias funcionales entre .profile .bash_profile y .bashrc

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 bashmientras .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 tmuxlas 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 Bashcomo 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 aliasesconfigurando tu favorito editorconfigurando el Bash promptetc.


.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 .bashrcsolamente .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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *