49 votes

Est-il possible de "désourcer" dans bash ?

J'ai trouvé un script dans bash source somescript.sh . Est-il possible d'annuler cela sans redémarrer le terminal ? Sinon, existe-t-il un moyen de "réinitialiser" le shell aux paramètres qu'il obtient lors de la connexion sans redémarrer?

EDIT : comme suggéré dans l'une des réponses, mon script définit certaines variables d'environnement. Existe-t-il un moyen de réinitialiser l'environnement de connexion par défaut ?

9voto

Benjamin Points 3269

La meilleure option semble être d'utiliser unset pour désactiver les variables d'environnement produites par le sourcing. L'ajout de OLD_PATH=$PATH; export OLD_PATH au .bashrc enregistre une sauvegarde du chemin de connexion au cas où l'on aurait besoin de rétablir le $PATH .

8voto

Corey Henderson Points 3487

Ce n'est pas la solution la plus élégante, mais cela semble faire ce que vous voulez :

 exec $SHELL -l

1voto

rahool Points 604

Je ne pense pas que l'annulation des commandes exécutées soit possible dans bash. Vous pouvez essayer tset, reset pour l'initialisation du terminal.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X