Las diferencias entre los archivos.bashrc y.bash_profile

1 mar 2021 2 min di lettura
Las diferencias entre los archivos.bashrc y.bash_profile
Indice dei contenuti

Introducción

Si pasa mucho tiempo en la línea de comandos, es probable que desee personalizar su entorno de shell. Esto puede significar crear alias, agregar un nuevo directorio a $PATH o cambiar la apariencia del indicador de shell.

Es posible que haya encontrado algunos tutoriales en los que se sugiere que ponga su configuración personal en el .bashrc, o en el .bash_profile, u otro archivo de configuración que sea leído y ejecutado por el shell bash.

En este artículo, hablaremos sobre los archivos de inicio de Bash y la diferencia entre los archivos .bashrc y .bash_profile

Inicio de sesión interactivo y no inicio de sesión

Cuando se invoca, Bash lee y ejecuta comandos de una serie de archivos de inicio. Los archivos que se leen dependen de si el shell se invoca como un inicio de sesión interactivo o un shell sin inicio de sesión.

Un shell puede ser interactivo o no interactivo.

En términos simples, un shell interactivo es un shell que lee y escribe en el terminal de un usuario, mientras que un shell no interactivo es un shell que no está asociado con un terminal, como cuando se ejecuta un script.

Un shell interactivo puede ser un shell de inicio de sesión o un shell de no inicio de sesión.

Se invoca un shell de inicio de sesión cuando un usuario inicia sesión en el terminal de forma remota a través de ssh o localmente, o cuando Bash se inicia con la opción --login El shell de inicio de sesión invoca un shell interactivo que no es de inicio de sesión, por ejemplo, al escribir bash en el indicador del shell o al abrir una nueva pestaña de terminal de Gnome.

Archivos de inicio de Bash

Cuando se invoca como un shell de inicio de sesión interactivo, Bash busca el /etc/profile y, si el archivo existe, ejecuta los comandos enumerados en el archivo. Bash luego busca los ~/.bash_profile, ~/.bash_login y ~/.profile, en el orden listado, y ejecuta los comandos desde el primer archivo legible encontrado.

Cuando se invoca Bash como un shell interactivo sin inicio de sesión, lee y ejecuta comandos desde ~/.bashrc, si ese archivo existe, y es legible.

Diferencia entre.bashrc y.bash_profile

.bash_profile se lee y ejecuta cuando se invoca Bash como un shell de inicio de sesión interactivo, mientras que .bashrc se ejecuta para un shell interactivo sin inicio de sesión.

Use .bash_profile para ejecutar comandos que solo deben ejecutarse una vez, como personalizar la $PATH entorno $ PATH.

Ingrese los comandos que deben ejecutarse cada vez que inicie un nuevo shell en el archivo .bashrc Esto incluye alias y funciones, mensajes personalizados, etc.

Normalmente, ~/.bash_profile contiene las siguientes líneas como archivo .bashrc Esto significa que cada vez que inicia sesión en la terminal, ambos archivos se leen y ejecutan.

if [ -f ~/.bashrc ]; then. ~/.bashrc
 fi

La mayoría de las distribuciones de Linux usan ~/.profile lugar de ~/.bash_profile. El ~/.profile es leído por todos los shells, mientras que ~/.bash_profile solo por Bash.

Si no hay un archivo de arranque en su sistema, puede crearlo.

Conclusión

.bash_profile y .bashrc son archivos que contienen comandos de shell que se ejecutan cuando se invoca Bash. .bash_profile se lee y ejecuta en shells de inicio de sesión interactivos, y .bashrc en shells que no son de inicio de sesión.

Consulte el manual de Bash para obtener más información sobre los archivos de inicio de Bash.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.