Heim > System-Tutorial > LINUX > Die Verwendung von Umgebungsvariablen unter Linux ist durch denselben Lebenszyklus unterteilt

Die Verwendung von Umgebungsvariablen unter Linux ist durch denselben Lebenszyklus unterteilt

王林
Freigeben: 2024-03-25 08:00:49
nach vorne
725 Leute haben es durchsucht

Vorwort:

1. Umgebungsvariablen sind Variablen, die von der Betriebssystemumgebung festgelegt werden und auf Benutzerprozesse im gesamten System anwendbar sind

2. Umgebungsvariablen können im Befehl festgelegt werden, und dieser Einstellungswert geht verloren, wenn sich der Benutzer abmeldet

3. Wenn Sie es wiederholt anwenden möchten, ist es am besten, es in .profile zu definieren; die Verwendung von Umgebungsvariablen ist die gleiche wie die Verwendung von lokalen Variablen,

4. Und vor der Verwendung muss es mit dem Exportbefehl importiert werden.

1. Einführung in Umgebungsvariablendateien

Umgebungsvariablen in Linux umfassen Umgebungsvariablen auf Systemebene und auf Benutzerebene, die jeder Benutzer lesen muss, der sich am System anmeldet, während Umgebungsvariablen auf Benutzerebene Umgebungsvariablen sind, die geladen werden, wenn der Benutzer sie verwendet Daher sind die Dateien, die Umgebungsvariablen verwalten, auch in Systemebene und Benutzerebene unterteilt.

2. Variablentypen in Linux

Definiert durch den Lebenszyklus von Variablen können Linux-Variablen in zwei Kategorien unterteilt werden:

1. Permanent: Die Konfigurationsdatei muss geändert werden und die Variablen werden dauerhaft wirksam

2. Temporär: Verwenden Sie den Exportbefehl, um zu deklarieren, dass die Variable ungültig wird, wenn die Shell geschlossen wird

3. Linux-Umgebungsvariablendatei

Linux-Variablendateien umfassen /etc/environment oder /etc/profile oder ~/.profile oder /etc/bash.bashrc oder ~/.bashrc und ~/.bash_profile (normalerweise von Benutzern in ihren eigenen Verzeichnissen erstellt), ~ / .bash_logout.

Systemebene:

1./etc/environment: Dies ist die erste Datei, die das System beim Anmelden liest. Diese Datei legt die Umgebung des gesamten Systems fest. Diese Datei wird nur gelesen, wenn das System gestartet wird die Umgebung für alle Prozesse. Wenn das System diese Datei verwendet, führt es die Befehle in dieser Datei nicht aus. Stattdessen folgt es dem Code im KEY=VALUE-Modus und setzt VALUE auf den KEY-Parameter In der Datei müssen Sie nur eine Zeile der Form hinzufügen: Der Code PATH=$PATH:/xxx/bin reicht aus

2./etc/profile: Diese Datei ist die zweite Datei, die ausgeführt wird, wenn sich das System anmeldet. Legen Sie die Umgebungsinformationen für jeden Benutzer des Systems fest. Wenn sich der Benutzer zum ersten Mal anmeldet, wird diese Datei ausgeführt. Und sammeln Sie Shell-Einstellungen aus der Konfigurationsdatei im Verzeichnis /etc/profile.d. (/etc/profile kann verwendet werden, um Umgebungsvariablen für alle Benutzer im gesamten System festzulegen. Der Zeitraum der Umgebungsvariablen ist dauerhaft)

3./etc/bashrc: Es handelt sich um eine Bash-Initialisierungsdatei für alle Benutzer. Die hier festgelegten Umgebungsvariablen werden auf die Shells aller Benutzer angewendet. Diese Datei wird jedes Mal ausgeführt, wenn der Benutzer die Shell öffnet. (Das heißt, jedes Mal, wenn ein neues Terminal geöffnet wird, wird /etc/bashrc ausgeführt.)

Benutzerebene (diese Datei befindet sich im Home-Verzeichnis):

1.~/.profile: Die Profildatei, die dem aktuell angemeldeten Benutzer entspricht, wird verwendet, um die persönliche Arbeitsumgebung des aktuellen Benutzers anzupassen (die Variable ist dauerhaft. Jeder Benutzer kann diese Datei verwenden, um Shell-Informationen für seine eigene Verwendung einzugeben . Diese Datei wird nur einmal ausgeführt, wenn sich der Benutzer anmeldet. Standardmäßig werden einige Umgebungsvariablen festgelegt und die .bashrc-Datei des Benutzers ausgeführt. Dies ist der empfohlene Ort, um Ihre persönlichen Einstellungen vorzunehmen

2.~/.bashrc: Diese Datei enthält spezifische Bash-Informationen für Ihre Bashshell. Diese Datei wird beim Anmelden und jedes Mal gelesen, wenn eine neue Shell geöffnet wird. (~/.bashrc ist nur für den aktuellen Benutzer, der Lebenszyklus von Variablen ist dauerhaft)

Es wird nicht empfohlen, es hier einzufügen, da diese Datei jedes Mal, wenn eine Shell geöffnet wird, einmal gelesen wird.

Was ist in einem Linux-System die Standard-Shell? Die Effizienz wird definitiv beeinträchtigt.

3.~/.bash_profileor~./bash_login:~/.bash_profile wird verwendet, um Bash im interaktiven Anmeldemodus aufzurufen, ~/.bashrc wird verwendet, um Bash im interaktiven Nicht-Anmeldemodus aufzurufen. Im Allgemeinen sind die Einstellungen des zwei sind ungefähr gleich, daher wird im Allgemeinen der letztere den ersteren nennen. Jeder Benutzer kann diese Datei verwenden, um spezifische Shell-Informationen für seine eigene Verwendung einzugeben. Wenn sich der Benutzer anmeldet, wird die Datei nur einmal ausgeführt. Standardmäßig werden einige Umgebungsvariablen festgelegt und die .bashrc-Datei des Benutzers ausgeführt. (Wenn sich im ~/-Verzeichnis kein .bash_profile befindet, erstellen Sie ein neues.) Dies ist der empfohlene Ort, um persönliche Einstellungen vorzunehmen

Wenn eine Shell geschlossen wird, werden die in bash_profile definierten Systemvariablen ungültig. Dazu muss sourcebash_profile jedes Mal ausgeführt werden, wenn eine neue Shell geöffnet wird, und zwar für den aktuellen Benutzer.

4.~/.pam_environment: Einstellungsdatei für Umgebungsvariablen auf Benutzerebene. Ich habe es nicht getestet, daher weiß ich nicht, ob es funktioniert.

5.~/.bash_logout: Führen Sie diese Datei jedes Mal aus, wenn Sie das System verlassen (Bashshell beenden). Darüber hinaus können die in /etc/profile festgelegten Variablen (global) jeden Benutzer betreffen, während die in ~/.bashrc festgelegten Variablen (lokal) nur die Variablen in /etc/profile erben können. Sie sind „Mutter und Kind“. Beziehung.

4. Ausführungsreihenfolge der Linux-Umgebungsvariablendateien

1. Der Vorgang zum Ausführen von Dateien beim Anmelden bei Linux ist wie folgt:

Wenn Sie sich zum ersten Mal bei Linux anmeldenWas ist im Linux-System die Standard-Shell?,

Starten Sie zunächst die Datei /etc/profile,

Danach starten Sie eine der Dateien ~/.bash_profile, ~/.bash_login oder ~/.profile im Benutzerverzeichnis. Die Reihenfolge der Ausführung der Dateien im Verzeichnis des Hausbesitzers ist:

~/.bash_profile->~/.bash_login->~/.profile.

Wenn die Datei ~/.bash_profile vorhanden ist, wird normalerweise die Datei ~/.bashrc ausgeführt.

Weil in der Datei ~/.bash_profile normalerweise der folgende Code enthalten ist:

if [ -f ~/.bashrc ] ; then
 . ./bashrc
fi
Nach dem Login kopieren

~/.bashrc enthält normalerweise den folgenden Code:

if [ -f /etc/bashrc ] ; then
 . /etc/bashrc
fi
Nach dem Login kopieren

Also ruft ~/.bashrc die Datei /etc/bashrc auf. Beim Verlassen der Shell wird schließlich die Datei ~/.bash_logout ausgeführt.

Die Ausführungsreihenfolge lautet:/etc/profile->(~/.bash_profile|~/.bash_login|~/.profile)->~/.bashrc->/etc/bashrc->~/.bash_logout

Die Vorteile verschiedener Umgebungsvariablen-Einstellungsdateien wie /etc/profile und /etc/environment

1) Fügen Sie zunächst exportLANG=zh_CN zu /etc/profile hinzu, verlassen Sie das System und melden Sie sich erneut an. In der Anmeldeaufforderung wird Chinesisch angezeigt.

2) Löschen Sie zunächst exportLANG=zh_CN in /etc/profile, fügen Sie LNAG=zh_CN zu /etc/environment hinzu, verlassen Sie das System und melden Sie sich erneut an. Die Anmeldeaufforderung wird auf Englisch angezeigt.

Führen Sie bei der Verbesserung der Benutzerumgebung immer zuerst /etc/profile aus und lesen Sie dann /etc/environment.

Warum gibt es die oben erwähnten Unterschiede? Anstatt zuerst /etc/environment und dann /etc/profile auszuführen?

Dies liegt daran, dass /etc/environment die Umgebung des gesamten Systems festlegt, während /etc/profile die Umgebung aller Benutzer festlegt. Letzteres hat nichts mit dem angemeldeten Benutzer zu tun, während ersteres damit zusammenhängt an den angemeldeten Benutzer.

Die Ausführung von Systemanwendungen hat möglicherweise nichts mit der Benutzerumgebung zu tun, sondern hängt mit der Systemumgebung zusammen. Daher hängen die angezeigten Eingabeaufforderungsinformationen, z. B. das Anzeigeformat von Datums- und Uhrzeitinformationen, zusammen an die LANG der Systemumgebung, die Standardeinstellung LANG=en_US, wenn die Systemumgebung LANG=zh_CN ist, sind die Eingabeaufforderungsinformationen auf Englisch, andernfalls sind sie auf Englisch.

Für die Shell-Initialisierung des Benutzers wird zuerst /etc/profile ausgeführt, und dann wird die Datei /etc/environment für das gesamte System gelesen, /etc/environment wird zuerst ausgeführt. Ist das das richtige Verständnis?

Die Reihenfolge beim Anmelden am System sollte sein:

/etc/enviroment-->/etc/profile-->HOME/.profile−−>HOME/.env (falls vorhanden)

/etc/profile ist eine Umgebungsvariable für alle Benutzer

/etc/enviroment ist die Systemumgebungsvariable

Die Reihenfolge des Shell-Lesens beim Anmelden am System sollte sein:

/etc/profile->/etc/enviroment-->HOME/.profile−−>HOME/.env

Der Grund sollte der Unterschied zwischen der Benutzerumgebung und der Systemumgebung sein. Wenn dieselbe Variable in der Benutzerumgebung (/etc/profile) und in der Systemumgebung (/etc/environment) unterschiedliche Werte hat, dann die Benutzerumgebung sollte sich durchsetzen.

5. Allgemeine Umgebungsvariablen und ihre Funktionen in Linux

Gemeinsame Umgebungsvariablen unter Linux sind:

1.PATH: Geben Sie den Suchpfad für den Befehl an

2.HOME: Geben Sie das Home-Arbeitsverzeichnis des Benutzers an (d. h. das Standardverzeichnis, wenn sich der Benutzer beim Linux-System anmeldet)

3.HISTSIZE: Bezieht sich auf die Anzahl der gespeicherten historischen Befehlsdatensätze.

4.LOGNAME: bezieht sich auf den Anmeldenamen des aktuellen Benutzers.

5.HOSTNAME: Bezieht sich auf den Namen des Hosts. Wenn viele Anwendungen den Hostnamen verwenden müssen, wird er normalerweise aus dieser Umgebungsvariablen abgerufen.

6.SHELL: Bezieht sich auf die Shell, die der aktuelle Benutzer verwendet.

7.LANG/LANGUGE: Sprachbezogene Umgebungsvariablen. Benutzer, die mehrere Sprachen verwenden, können diese Umgebungsvariable ändern.

在linux系统,默认的shell是什么_在linux系统,默认的shell是什么_在linux系统,默认的shell是什么

8.MAIL: bezieht sich auf das E-Mail-Speicherverzeichnis des aktuellen Benutzers.

9.PS1: Die grundlegende Eingabeaufforderung lautet # für Root-Benutzer und $ für normale Benutzer.

10.PS2: Hilfsaufforderung, die Standardeinstellung ist „>“.

Hinweis: Sie können die aktuelle Eingabeaufforderung ändern, indem Sie diese Umgebungsvariable ändern. Mit dem folgenden Befehl wird die Eingabeaufforderung beispielsweise in die Zeichenfolge „Hallo, MyNewPrompt“ geändert.

#PS1="Hallo,MyNewPrompt"

Hinweis: Die Namen der oben genannten Variablen sind nicht festgelegt. Beispielsweise kann HOSTNAME in einigen Linux-Systemen auf HOST gesetzt sein

Tatsächlich sind die oben aufgeführten Umgebungsvariablen nicht erschöpfend!

Linux bietet auch Befehle zum Ändern und Anzeigen von Umgebungsvariablen! Hier ein paar Beispiele zur Veranschaulichung:

1.echo zeigt einen bestimmten Umgebungsvariablenwert echo$PATH

an

2.export legt eine neue Umgebungsvariable exportHELLO="hello" fest (kein Komma zulässig) und verwendet [Exportvariablenname = Variablenwert] direkt, um die Variable unter der Shell-Befehlszeile zu definieren. Diese Variable ist nur in der aktuellen Version verfügbar Die Shell (BASH) oder ihre Subshell (BASH) ist gültig. Wenn Sie eine neue Shell öffnen, ist eine solche Variable nicht mehr vorhanden Es.

3.env zeigt alle Umgebungsvariablen an

4.set zeigt lokal definierte Shell-Variablen (die bereits im System vorhanden sind) und neue Variablenwerte zum Festlegen von Shell-Variablen an. Wenn kein Wert angegeben ist, wird der Variablenwert auf NULL gesetzt.

5.unset bereinigt die Umgebungsvariable unsetHELLO

6.readonly setzt die schreibgeschützte Umgebungsvariable readonlyHELLO. Wenn der readonly-Befehl verwendet wird, kann die Variable nicht geändert oder gelöscht werden

Das obige ist der detaillierte Inhalt vonDie Verwendung von Umgebungsvariablen unter Linux ist durch denselben Lebenszyklus unterteilt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:itcool.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage