Ich habe die .bashrc
gefunden Datei und ich möchte den Zweck/die Funktion davon wissen. Auch wie und wann wird es verwendet?
Akzeptierte Antwort:
.bashrc
ist ein Bash-Shell-Skript, das Bash immer dann ausführt, wenn es interaktiv gestartet wird. Es initialisiert eine interaktive Shell-Sitzung. Sie können jeden Befehl in diese Datei einfügen, den Sie auch an der Eingabeaufforderung eingeben könnten.
Sie geben hier Befehle ein, um die Shell für die Verwendung in Ihrer speziellen Umgebung einzurichten oder Dinge an Ihre Vorlieben anzupassen. Eine übliche Sache, die in .bashrc
eingefügt wird sind Aliase, die immer verfügbar sein sollen.
.bashrc
läuft auf jedem interaktiver Shell-Start. Wenn Sie sagen:
$ bash ; bash ; bash
und drücken Sie dann Strg-D dreimal .bashrc
wird dreimal gefahren. Aber wenn Sie stattdessen Folgendes sagen:
$ bash -c exit ; bash -c exit ; bash -c exit
dann .bashrc
wird überhaupt nicht ausgeführt, da -c
macht den Bash-Aufruf nicht interaktiv. Dasselbe gilt, wenn Sie ein Shell-Skript von einer Datei aus ausführen.
Vergleichen Sie .bash_profile
und .profile
die nur beim Start einer neuen Login-Shell ausgeführt werden. (bash -l
) Sie wählen, ob ein Befehl in .bashrc
kommt vs .bash_profile
abhängig davon, ob es einmal oder bei jedem Start der interaktiven Shell ausgeführt werden soll.
Als Gegenbeispiel zu Aliases, die ich lieber in .bashrc
einbaue , Sie möchten PATH
ausführen Anpassungen in .bash_profile
stattdessen, da diese Änderungen typischerweise nicht idempotent sind:
export PATH="$PATH:/some/addition"
Wenn Sie das in .bashrc
einfügen stattdessen jedes Mal, wenn Sie eine interaktive Sub-Shell starten, :/some/addition
an das Ende des PATH
geheftet würde wiederum zusätzliche Arbeit für die Shell, wenn Sie einen Befehl falsch eingeben.
Sie erhalten eine neue interaktive Bash-Shell, wenn Sie aus vi
herausshellen mit :sh
, zum Beispiel.