Wenn ich einen neuen Alias in der .bash_aliases
Datei oder eine neue Funktion in der .bashrc
Datei definiere, gibt es einen Aktualisierungsbefehl, um die neuen Aliase oder Funktionen sofort zu verwenden, ohne das Terminal zu schließen (in meinem Fall ist xfce4-terminal mit ein paar geöffneten Registerkarten und vielen geöffneten Dateien) und mitten in der Arbeit)?
55
. .bashrc
odersource .bashrc
in jeder Shell ausführen, die Sie geöffnet haben.Antworten:
Durch die Beschaffung der geänderten Datei erhalten Sie Zugriff auf den neu geschriebenen Alias oder die neu geschriebene Funktion im aktuellen Terminal. Beispiel:
Eine alternative Syntax:
Beachten Sie, dass Sie dies in jedem Fall ausführen müssen, wenn in Ihrem Terminal mehrere Bash-Instanzen ausgeführt werden (Sie haben mehrere Registerkarten erwähnt).
quelle
source
ist von csh abgeleitet. Die Bourneshell-Art ist. .bashrc
.alias prg='prg.py'
. Ich muss das Terminal schließen.Die Eingabe
. ~/.bashrc
über die Befehlszeile wird ausgeführt,.bashrc
und alle in dieser Datei definierten Funktionen werden erstellt..bashrc
selbst wird dann auch aufgerufen und ausgeführt.bash_aliases
( falls vorhanden), wenn.bashrc
dieser Code enthalten ist:Die Verwendung von
. ~/.bash_aliases
alone (zum Beispiel in der Befehlszeile) versucht lediglich,.bash_aliases
ohne .bashrc auszuführen, und gibt einen Fehler aus, wenn die Datei nicht vorhanden ist (daher der Dateiprüfungstest, wenn sie in ist.bashrc
).quelle
Manchmal möchten Sie einen Alias in eine Funktion umwandeln, aber wenn Sie die bashrc-Datei als Quelle verwenden, kann ein seltsamer Fehler auftreten:
Dies kann passieren, weil der Aliasname mit dem Namen der neu definierten Funktion kollidiert. Soweit ich weiß, muss man, um dies zu vermeiden, alles unalias machen und dann die bashrc-Datei als Quelle verwenden:
quelle