Lorsque j'apporte des modifications au comportement shell / bash, telles que la configuration d'un alias, une commande rapide permet-elle de réinitialiser la fenêtre du terminal au lieu de fermer et d'ouvrir une nouvelle fenêtre?
49
source ~/.bashrc
?source
est spécifique à bash..
est plus standard. Les deux fonctionnent de la même manière en bash.Quelques ajouts trouvés dans la page de manuel à partir de la commande reset / tset
tset réinitialiser l'initialisation du terminal
commander:
reset
Tset initialise les terminaux. Tset commence par déterminer le type de terminal que vous utilisez. Cette détermination est effectuée comme suit, en utilisant le premier type de terminal trouvé.
un avantage semble être qu'il est indépendant de la coque utilisée. travaille également avec du poisson ici.
Donc, pour réinitialiser un terminal, il suffit de-
OU
la source
Une option supplémentaire à la
exec bash
est que si vous avez changé votre.profile
(ou.bash_profile
), vous pouvez faireCela lira également votre profil. Cela ne ferait pas de mal d'ajouter également l'
-i
option d'indiquer explicitement à bash qu'il s'agit d'un shell interactif, mais il peut normalement s'en rendre compte par lui-même.la source
Vous devez remplacer l'application / shell en cours d'exécution par une nouvelle instance. Par exemple, si vous utilisez
bash
comme 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):L'application / le shell en cours d'exécution est remplacé par une nouvelle instance de
bash
type like, partant de zéro. Toutes vos modifications précédentes ont disparu.Remarque: N'oubliez pas que votre application de terminal peut être reprogrammée. Vous devez réinitialiser votre application de terminal manuellement.
la source
votre shell est un exécutable que vous pouvez appeler. Donc, si vous utilisez bash, vous pouvez appeler
bash
et si vous utilisez autre chose comme zsh, vous pouvez simplement entrerzsh
la source
Utilisez
exec sudo --login --user $USER
.Si vous souhaitez également les commandes précédemment entrées à disapper (réinitialisation complète du terminal), le combiner avec
reset
commereset; exec sudo --login --user $USER
Il existe de nombreuses réponses sur le Web, mais la plupart ne fonctionnent pas. Un moyen facile de tester consiste à configurer
export SOMEVAR=42
puis à exécuter la commande supposément réinitialiséeecho $SOMEVAR
. Si c'est 42, l'environnement n'a pas été réinitialisé.Il y a aussi
exec -c bash -l
ouexec env -i bash -l
, mais ceux-ci sont cassés, la variable $ HOME n'est pas définie après cela.la source