Rechargez le fichier .profile de bash sans vous déconnecter, puis vous reconnectez


81

Est-il possible de contraindre bash à recharger le fichier .profile sans se déconnecter et se reconnecter?

Réponses:


102

Cela devrait fonctionner pour le terminal actuel:

. ~/.profile

.est un bashconstruit et un synonyme pour source, voir man bash:

. filename [ arguments ]
source filename [ arguments ]
     Lit et exécute les commandes de filename dans l'environnement shell actuel (…).


18
Il ne sera efficace que dans le terminal actuel.
enzotib

@enzotib Est-il possible de contourner ce problème?
Matty

14
@Matty: non, pour que les modifications soient visibles dans tout l'environnement graphique, vous ne pouvez que redémarrer la session
enzotib

2
Le seul problème avec ceci est que si vous supprimez quelque chose du chemin il ne prendrait effet qu'après avoir redémarré
Aras

1
@Aras fait un point important qui mérite l' expansion: Si quelque chose est retiré de ~/.profile, que le changement ne prendra effet après . ~/.profilereload. Par exemple, ajouter une fonction à ~/.profile: function externalip () { curl http://ipecho.net/plain; echo; }, puis ~/.profile- il fonctionne. Maintenant, supprimez cette fonction de ~/.profile, puis à . ~/.profilenouveau. La fonction est toujours disponible - seul le redémarrage (déconnexion et entrée) la supprimera.
Seamus

13

Si vous ne voulez pas démarrer un nouveau shell mais exécuter le script dans le shell actuel, vous le sourcez:

source script_name.sh

source = .

Le Bash sourceintégré est un synonyme de la commande Bourne Shell .(point).

courtoisie - tldp.org

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.