¿Por qué necesito ejecutar el comando fuente para que se aplique el alias .bashrc?

¿Por qué necesito ejecutar el comando fuente para que se aplique el alias .bashrc?

Si bien entiendo que sourceel comando ejecuta un programa en el shell actual, no entiendo muy bien por qué necesitamos ejecutarlo source .bashrcpara "recargar" el archivo .bashrc.

Según tengo entendido, no ejecutamos ningún script agregando un alias a .bashrc; source .bashrcsimplemente "recargamos" el archivo.

¿Por qué no se recarga automáticamente?

Probablemente me estoy perdiendo algo.

¿Cómo funciona debajo del capó? ¿Por qué necesitamos sourceeste archivo para que los nuevos alias funcionen sin necesidad de cerrar sesión?

Respuesta1

.bashrcse lee solo una vez, cuando se inicia bash. Es así por diseño (y siempre lo ha sido). Si realiza cambios posteriores en .bashrc, no se aplicarán hasta que .bashrcse vuelva a leer. Al ejecutar source .bashrc, haces exactamente esto: le dices a bash que vuelva a leer ese archivo.

Por supuesto, también puede iniciar una nueva copia de bash (por ejemplo, iniciando una nueva sesión de terminal), esto hará que el nuevo proceso bash lea el .bashrcarchivo nuevamente (pero no habrá cambios en la sesión anterior).

POR CIERTO. .bashrcarchivoesun script y, al obtenerlo, ejecuta los comandos colocados en ese archivo. Los comandos definen alias en su caso, pero prácticamente cualquier comando puede colocarse en ese archivo.

información relacionada