Wenn ich Änderungen am Shell- / Bash-Verhalten vornehme, z. B. das Einrichten eines Alias, gibt es einen Schnellbefehl, um das Terminalfenster neu zu initialisieren, anstatt ein neues Fenster zu schließen und zu öffnen?
49
Wenn Sie Ihre .bashrc-Konfiguration neu laden möchten, gehen Sie wie folgt vor:
source ~/.bashrc
Wenn Sie weniger tippen, können Sie Folgendes source
durch einen Punkt ersetzen :. ~/.bashrc
source ~/.bashrc
?source
ist ein spezifisches zu Bash..
ist mehr Standard. Beide funktionieren in bash gleich.Einige Zusätze, die ich in der Manpage vom Befehl reset / tset gefunden habe
tset Terminalinitialisierung zurücksetzen
Befehl:
reset
Tset initialisiert Terminals. Tset bestimmt zuerst den verwendeten Terminaltyp. Diese Bestimmung wird wie folgt unter Verwendung des ersten gefundenen Terminaltyps durchgeführt.
ein vorteil scheint zu sein, dass es unabhängig von der verwendeten shell ist. funktioniert hier auch mit fisch.
Um also ein Terminal neu zu initialisieren,
ODER
quelle
Eine zusätzliche Option zu der Option
exec bash
ist, dass Sie dies tun können , wenn Sie Ihr.profile
(oder.bash_profile
) geändert habenDadurch wird auch Ihr Profil erneut gelesen. Es würde nicht schaden, auch die
-i
Option hinzuzufügen , um bash explizit mitzuteilen, dass es sich um eine interaktive Shell handelt, aber normalerweise kann sie dies für sich selbst herausfinden.quelle
Sie müssen die laufende Anwendung / Shell durch eine neue Instanz ersetzen . Wenn Sie beispielsweise
bash
als bevorzugte Shell verwenden, geben Sie die folgende Zeile in Ihre Befehlszeile ein ( $ ist der Platzhalter für den Anfang Ihrer Befehlszeile):Die laufende Anwendung / Shell wird durch eine neue Instanz von
bash
like ersetzt, die von vorne anfängt. Alle Ihre vorherigen Änderungen sind weg.Anmerkung: Vergessen Sie nicht, dass Ihre Terminalanwendung möglicherweise neu programmiert wird. Sie müssen Ihre Terminalanwendung manuell zurücksetzen.
quelle
Ihre Shell ist eine ausführbare Datei, die Sie aufrufen können. Wenn Sie also bash verwenden, können Sie anrufen
bash
und wenn Sie etwas anderes wie zsh verwenden, können Sie einfach eingebenzsh
quelle
Verwenden Sie
exec sudo --login --user $USER
.Wenn Sie auch möchten, dass die zuvor eingegebenen Befehle nicht mehr funktionieren (vollständiges Zurücksetzen des Terminals), kombinieren Sie sie mit
reset
asreset; exec sudo --login --user $USER
Es gibt viele Antworten im Internet, aber die meisten funktionieren nicht wirklich. Eine einfache Möglichkeit zum Testen besteht darin
export SOMEVAR=42
, den Befehl zum Zurücksetzen festzulegen und dann auszuführenecho $SOMEVAR
. Wenn es 42 ist, wurde die Umgebung nicht zurückgesetzt.Es gibt auch
exec -c bash -l
oderexec env -i bash -l
, aber diese sind kaputt, irgendwie wird die Variable $ HOME danach nicht gesetzt.quelle