Lorsque j'apporte quelques modifications au comportement de Shell/bash, comme la mise en place d'un alias, existe-t-il une commande rapide pour réinitialiser la fenêtre du terminal au lieu de fermer et d'ouvrir une nouvelle fenêtre ?
Réponses
Trop de publicités?Une option supplémentaire à la exec bash
c'est que si vous avez changé votre .profile
(ou .bash_profile
), vous pouvez faire
$ exec bash --login
Cela permettra de relire votre profil également. Ça ne ferait pas de mal d'ajouter le -i
pour indiquer explicitement à bash qu'il s'agit d'un Shell interactif, mais il peut normalement s'en rendre compte par lui-même.
Vous devez remplacer l'application en cours d'exécution/Shell avec une nouvelle instance. Par exemple, si vous utilisez bash
comme votre Shell préféré, tapez la ligne suivante dans votre ligne de commande ( $ est l'espace réservé pour le début de votre ligne de commande) :
> $ exec bash
L'application en cours d'exécution/Shell est remplacée par une nouvelle instance de bash
comme repartir de zéro. Toutes vos modifications précédentes ont disparu.
Remarques : N'oubliez pas que votre application terminale peut être reprogrammée. Vous devez réinitialiser votre application terminale manuellement.
Utilisez exec sudo --login --user $USER
.
Si vous souhaitez également que les commandes précédemment saisies disparaissent (réinitialisation complète du terminal), combinez-la avec reset
comme reset; exec sudo --login --user $USER
.
Pour conserver également le répertoire de travail actuel, utilisez la fonction suivante :
reinit(){
reset
exec sudo --login --user "$USER" /bin/sh -c "cd '$PWD'; exec '$SHELL' -l"
}
Il existe de nombreuses réponses sur le web, mais la plupart ne fonctionnent pas. Un moyen simple de tester est de définir export SOMEVAR=42
puis exécuter la commande de réinitialisation supposée et faire echo $SOMEVAR
. Si c'est 42, l'environnement n'a pas été réinitialisé.
Il existe également exec -c bash -l
o exec env -i bash -l
mais ils ne fonctionnent pas, la variable $HOME n'est pas définie après cela.
- Réponses précédentes
- Plus de réponses