Saltar al contenido

¿Cómo volver a cargar la configuración de .bashrc sin cerrar sesión y volver a iniciarla?

Esta es la respuesta más correcta que te podemos brindar, pero estúdiala pausadamente y analiza si se adapta a tu trabajo.

Solución:

Puede ingresar el comando de formato largo:

source ~/.bashrc

o puede usar la versión más corta del comando:

. ~/.bashrc

O podrías usar:

exec bash

Esto hace lo mismo y es más fácil de recordar (al menos para mí).

El exec El comando reemplaza completamente el proceso de shell al ejecutar la línea de comandos especificada. En nuestro ejemplo, reemplaza cualquiera que sea el shell actual con una nueva instancia de bash (con los archivos de configuración actualizados).

A complemento y contraste las dos respuestas más populares, . ~/.bashrc y exec bash:

Ambas soluciones efectivamente recargar ~/.bashrcpero hay diferencias:

  • . ~/.bashrc o source ~/.bashrc será preservar tu caparazón actual:

    • Salvo las modificaciones que la recarga ~/.bashrc en el shell actual (abastecimiento) hace, el shell actual y su estado son Preservadoque incluye variables de entorno, variables de shell, opciones de shell, funciones de shell e historial de comandos.
  • exec basho, más robustamente, exec "$BASH"[1]será reemplazar tu caparazón actual con una nueva instancia, y por lo tanto solo preservar su caparazón actual Variables de entorno (incluidos los que haya definido ad-hoc).

    • En otras palabras: se pierde cualquier cambio ad-hoc en el shell actual en términos de variables de shell, funciones de shell, opciones de shell, historial de comandos.

Dependiendo de sus necesidades, se puede preferir uno u otro enfoque.


[1] exec bash podría en teoría ejecutar un diferentebash ejecutable que el que inició el shell actual, si existe en un directorio enumerado anteriormente en el $PATH. Dado que la variable especial $BASH siempre contiene la ruta completa del ejecutable que inició el shell actual, exec "$BASH" se garantiza el uso de la mismo ejecutable.
Una nota re "..." alrededor $BASH: las comillas dobles garantizan que el valor de la variable se utilice tal cual, sin interpretación por parte de Bash; si el valor no tiene espacios incrustados u otros metacaracteres de shell (lo que no es probable en este caso), no necesita estrictamente comillas dobles, pero usarlas es un buen hábito para formar.

Nos encantaría que puedieras difundir esta sección si lograste el éxito.

¡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 *