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

Wie die BASH-Shell ihre Konfigurationsdateien unter Linux lädt

Die BASH-Shell versucht während der Initialisierung mehrere Konfigurationsdateien zu laden. Es gibt 2 Sätze von Konfigurationsdateien, je nachdem, ob es sich um eine Login-Shell oder eine Nicht-Login-Shell handelt.

  • Wenn Sie sich bei einem Server auf einem Bare-Metal-Monitor oder über SSH oder mit # su – [Benutzername] anmelden, erhalten Sie eine Anmelde-Shell.
  • Wenn Sie eine Shell in einem Terminal in einer bestehenden Sitzung starten (Gnome-Terminal, eine Shell in einer anderen oder mit # su [Benutzername]…), erhalten Sie eine Nicht-Login-Shell. Ein Shell-Skript wird auch unter einer Nicht-Login-Shell ausgeführt.

Unten veranschaulichen wir den Unterschied, indem wir diesen Konfigurationsdateien etwas Debugging hinzufügen.

Login-Shell

Standardmäßig lädt eine Login-Shell die folgenden Dateien:

# su - test
this is /etc/profile
this is ~/.bash_profile
this is ~/.bashrc
this is /etc/bashrc

Beachten Sie hier das ~/.bash_profile Datei, die Datei heißt standardmäßig ~/.bashrc , und ~/.bashrc rufen /etc/bashrc auf .

Wenn BASH aus irgendeinem Grund die Datei ~/.bash_profile nicht findet, sucht es nach ~/.bash_login stattdessen. Wenn ~/.bash_login wieder nicht gefunden werden kann, sucht BASH nach ~/.profile stattdessen.

Und in den beiden Fällen werden ~/.bashrc und /etc/bashrc nicht geladen, es sei denn, sie wurden explizit in ~/.bash_login oder ~/.profile aufgerufen.

Die Beispiele, wenn ~/.bash_profile nicht existiert:

– Bei Anwesenheit von ~/.bash_login, egal ob ~/.profile existiert oder nicht:

$ su - test
Password: 
this is /etc/profile
This is ~/.bash_login

– Nur ~/.profile:

# su - test
this is /etc/profile
this is ~/.profile

Shell ohne Anmeldung

Es ist einfacher, BASH lädt nur die ~/.bashrc und wieder die Datei mit dem Aufruf /etc/bashrc.

# su test
this is ~/.bashrc
this is /etc/bashrc


Linux
  1. Linux-Grundlagen:So laden Sie Dateien auf der Shell mit Wget herunter

  2. Wie verwende ich den Rsync-Befehl unter Linux?

  3. So finden Sie alle Sparse-Dateien in Linux

  4. So ändern Sie die Standard-Shell in Linux

  5. So ändern Sie die Standard-Shell in Linux

So entpacken Sie die gz-Dateien unter Linux

So verwenden Sie den Declare-Befehl in der Linux Bash Shell

So finden Sie Dateien mit dem fd-Befehl in Linux

So ändern Sie die Standard-Shell im Linux-System

So installieren Sie Linux Bash Shell unter Windows 10

Wie verwende ich die Linux-Bash-Shell in Windows 10?