Vuelva a cargar el perfil de bash sin cerrar sesión y volver a iniciarla

81

¿Es posible obligar a bash a volver a cargar el archivo .profile sin cerrar sesión y volver a iniciarla?

Matty
fuente

Respuestas:

102

Esto debería funcionar para el terminal actual:

. ~/.profile

.es una bashconstrucción y un sinónimo de source, ver man bash:

. nombre de archivo [ argumentos ]
fuente nombre de archivo [ argumentos ]
     Lea y ejecute comandos del nombre de archivo en el entorno actual del shell (...).

Lukas Stejskal
fuente
18
Será efectivo solo en el terminal actual.
enzotib
@enzotib ¿Hay alguna forma de evitar eso?
Matty
14
@Matty: no, para que los cambios sean visibles para todo el entorno gráfico, solo puede reiniciar la sesión
enzotib
2
El único problema con esto es que si elimina algo de la ruta, no surtirá efecto hasta que reinicie
Aras
1
@Aras hace un punto importante que merece la expansión: Si algo se retira de ~/.profile, que el cambio va a no tener efecto después de la . ~/.profilerecarga. Por ejemplo, agregue una función a ~/.profile:, function externalip () { curl http://ipecho.net/plain; echo; }luego ~/.profile- FUNCIONA. Ahora elimine esa función de ~/.profile, luego . ~/.profileotra vez. La función todavía está disponible; solo al reiniciarla (cerrar sesión e iniciar sesión) la eliminará.
Seamus
13

Si no desea iniciar un nuevo shell pero ejecuta el script en el shell actual, lo obtiene:

source script_name.sh

source = .

El Bash sourceintegrado es sinónimo del .comando Bourne shell (punto).

cortesía - tldp.org

Amey Jah
fuente