Cuando entro en un eg. un nuevo alias en mi .bashrc
archivo No puedo usarlo en esa ventana de terminal de inmediato y hasta hace poco pensé que tenía que reiniciar el terminal para volver a cargar el .bashrc
archivo. Luego descubrí en algún lugar que si escribo
. .bashrc
Esto volverá a cargar el .bashrc
archivo en la ventana actual y no tengo que reiniciar. Esto funciona aletas, pero ¿qué está pasando realmente? ¿Por qué esto vuelve a cargar el .bashrc
archivo?
.
"fuente" el archivo. Lo que significa que se está ejecutando básicamenteRespuestas:
Porque
.
es un comando.Es un comando de shell incorporado, que lee el archivo con nombre y ejecuta los comandos en el proceso de shell actual.
El shell Bourne Again también tiene
source
como sinónimo de este comando. Pero esto es un Bashismo (que el shell Bourne Again tomó del Shell C). Aunque es un Bashismo que el shell Bourne Again comparte con el Shell TENEX C, el Shell Z y otros (pero no el shell Korn, tenga en cuenta). La especificación UNIX única solo estandariza.
.También tenga en cuenta que el comportamiento de
.
/source
sutilmente cambia dependiendo de si el shell Bourne Again se está ejecutando en su modo compatible con POSIX o no. (De nuevo, esto es como otros shells, aunque sus comportamientos no estándar no son los mismos que los de los demás. Con el Z Shell, por ejemplo, hay un mecanismo de script de shell precompilado, ysource
difiere sutilmente de.
su manejo de ruta de búsqueda. The Korn shell.
ejecutará funciones de shell, para otro ejemplo).~/.bashrc
es simplemente uno de varios archivos cuyos contenidos (dependiendo de cómo se invoque el proceso de shell) se obtienen automáticamente al inicio de shell. No hay nada que prohíba que se obtenga manualmente . Aunque si sus acciones no son idempotentes, es posible que tenga que hacer un trabajo de reparación después.Otras lecturas
fuente
help .
te diría:Diciendo se
. .bashrc
ejecuta (fuentes) el archivo.bashrc
que hace que los cambios realizados en el archivo estén disponibles en la sesión actual.Por defecto,
~/.bashrc
se leería al iniciar sesión..
es sinónimo desource
.fuente
El
.
comando es lo mismo que elsource
comando, que ejecuta su.bashrc
archivo. Esto agrega todos los alias que ha definido y cualquier otra configuración / variable de shell en el entorno actual. Desdesource
la página de ayuda:fuente