GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Der Zweck von .bashrc und wie funktioniert es?

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.


Linux
  1. Wie funktioniert der Exit-Befehl auf einem Unix-Terminal?

  2. Was ist DNS und wie funktioniert es?

  3. Wie verwende ich die Befehle watch und jobs zusammen in Bash?

  4. Wie funktioniert der ps-Befehl?

  5. Wie funktioniert die Loopback-Schnittstelle?

Was ist ein Makefile und wie funktioniert es?

.bashrc vs. .bash_profile

So arbeiten Sie mit File and Shell Provisioner in Vagrant

Wie funktioniert cat << EOF in Bash?

Was ist der Unterschied zwischen &> und >&in bash?

Wie funktionieren die Optionen „-s“, „-t“ und „-c“ des tr-Befehls in Unix?