Programación BASH

Cuál es la diferencia .bashrc y bash_profile?

Cuál es la diferencia .bashrc y bash_profile?
Si pasa la mayor parte de su tiempo en el terminal, podría pensar en personalizar su apariencia cambiando los archivos de configuración. Si observa que hay dos archivos de configuración de bash shell en Linux, uno es ".bashrc ", y el segundo es" bash_profile "o".perfil."

Estos archivos están ocultos y no se pueden mostrar usando solo "ls"; por lo tanto, use "ls -a" en la terminal para ver estos archivos.

$ ls -a

En Ubuntu, hay un ".perfil "archivo en lugar de".bash_profile ", puede utilizar el".perfil ", o puede crear un".bash_profile."Una vez que cree el".bash_profile ”, el archivo“.profile ”ya no será leído por el shell.

El punto principal de esta publicación es explorar estos dos archivos y despejar las dudas sobre ellos. Entonces, profundicemos y aprendamos las diferencias clave entre estos archivos. Pero antes de discutir los archivos de configuración, primero debemos entender la distinción de varias interfaces de shell porque, a la vez, se pueden abrir dos o más interfaces de shell.

¿Cuál es la diferencia entre shells interactivos y no interactivos??

Un shell interactivo espera cierta interactividad del usuario, por ejemplo, recibir comandos del teclado, mientras que un shell no interactivo no espera ninguna entrada del usuario. Luego viene el shell de "inicio de sesión interactivo" y los shells de "no inicio de sesión interactivo". Cuando abrimos la terminal, obtenemos un "shell de inicio de sesión interactivo" y examina los archivos de inicio. Sin embargo, cuando abrimos un shell desde un shell ya abierto, ese shell se llamaría un shell "interactivo sin inicio de sesión", y solo lee el ".archivo bashrc ”.

¿Qué son los archivos de inicio de bash??

Cuando lanzamos la terminal de "inicio de sesión interactivo", el primer archivo que busca es "/ etc / profile", el orden de lectura del archivo se da en la siguiente imagen:

Después de eso, busca otros archivos que se muestran en la imagen de arriba y ejecuta el comando desde el archivo que encuentra primero. El archivo "/ etc / profile" configura el entorno para todos los usuarios, luego examina ".bash_profile ”y configura el entorno del shell actual. Si "bash_profile" no está presente, buscará "bash_login" o ".archivos de perfil ". Al iniciar la terminal "interactiva sin inicio de sesión", el único archivo que lee es ".bashrc."

¿Cuál es la diferencia entre el ".bash_profile ”y“.archivos bashrc ”:

La ".El archivo bash_profile ”es responsable de configurar el entorno utilizando variables de entorno que almacenan información sobre el editor de texto, la configuración de diseño, etc. Se ejecuta solo una vez cuando inicia sesión en su máquina. Mientras que ".bashrc ”contiene comandos, alias, funciones bash y se ejecuta cuando abres la terminal a un sistema que ya ha iniciado sesión.

La mayoría de las distribuciones tienen ".perfil "en el lugar de".bash_profile ”; todas las conchas leen el primero mientras que el segundo solo golpea.

Conclusión:

Shell requiere una configuración básica al iniciarse para configurar el entorno. La ".bash_profile ”se ejecutará cuando inicie sesión en su máquina para configurar su entorno de shell, mientras que“.bashrc ”se ejecutará cuando abra la terminal y también se ejecutará cuando abra una nueva instancia de la terminal. En esta publicación, aprendimos las diferencias clave y la importancia de estos dos archivos de configuración.

Cómo mostrar la superposición de OSD en aplicaciones y juegos de Linux en pantalla completa
Jugar juegos en pantalla completa o usar aplicaciones en modo de pantalla completa sin distracciones puede aislarlo de la información relevante del si...
Las 5 mejores cartas de captura de juegos
Todos hemos visto y amado la transmisión de juegos en YouTube. PewDiePie, Jakesepticye y Markiplier son solo algunos de los mejores jugadores que han ...
Cómo desarrollar un juego en Linux
Hace una década, no muchos usuarios de Linux predecían que su sistema operativo favorito algún día sería una plataforma de juegos popular para videoju...