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

Mar 25, 2024 am 08:00 AM
linux 环境变量

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!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1655
14
PHP-Tutorial
1252
29
C#-Tutorial
1226
24
Linux -Architektur: Enthüllung der 5 Grundkomponenten Linux -Architektur: Enthüllung der 5 Grundkomponenten Apr 20, 2025 am 12:04 AM

Die fünf grundlegenden Komponenten des Linux -Systems sind: 1. Kernel, 2. Systembibliothek, 3. System Utilities, 4. Grafische Benutzeroberfläche, 5. Anwendungen. Der Kernel verwaltet Hardware -Ressourcen, die Systembibliothek bietet vorkompilierte Funktionen, Systemversorgungsunternehmen werden für die Systemverwaltung verwendet, die GUI bietet visuelle Interaktion und Anwendungen verwenden diese Komponenten, um Funktionen zu implementieren.

VSCODE -Tutorial zur Verwendung VSCODE -Tutorial zur Verwendung Apr 15, 2025 pm 10:09 PM

Das integrierte VSCODE-integrierte Terminal ist ein Entwicklungstool, mit dem das Ausführen von Befehlen und Skripten innerhalb des Editors den Entwicklungsprozess vereinfachen kann. Verwenden Sie VSCODE -Anschluss: Öffnen Sie das Terminal mit der T -T -T -Taste (Strg/CMD). Geben Sie einen Befehl ein oder führen Sie das Skript aus. Verwenden Sie Hotkeys (z. B. Strg l, um das Terminal zu löschen). Ändern Sie das Arbeitsverzeichnis (z. B. den CD -Befehl). Zu den erweiterten Funktionen gehören Debug -Modus, automatischer Code -Snippet -Abschluss und interaktiver Befehlsverlauf.

So überprüfen Sie die Lageradresse von Git So überprüfen Sie die Lageradresse von Git Apr 17, 2025 pm 01:54 PM

Um die Git -Repository -Adresse anzuzeigen, führen Sie die folgenden Schritte aus: 1. Öffnen Sie die Befehlszeile und navigieren Sie zum Repository -Verzeichnis; 2. Führen Sie den Befehl "git remote -v" aus; 3.. Zeigen Sie den Repository -Namen in der Ausgabe und der entsprechenden Adresse an.

Wo kann Code in VSCODE schreiben Wo kann Code in VSCODE schreiben Apr 15, 2025 pm 09:54 PM

Das Schreiben von Code in Visual Studio Code (VSCODE) ist einfach und einfach zu bedienen. Installieren Sie einfach VSCODE, erstellen Sie ein Projekt, wählen Sie eine Sprache aus, erstellen Sie eine Datei, schreiben Sie Code, speichern und führen Sie es aus. Die Vorteile von VSCODE umfassen plattformübergreifende, freie und open Source, leistungsstarke Funktionen, reichhaltige Erweiterungen sowie leichte und schnelle.

So führen Sie Java -Code in Notepad aus So führen Sie Java -Code in Notepad aus Apr 16, 2025 pm 07:39 PM

Obwohl Notepad den Java -Code nicht direkt ausführen kann, kann er durch Verwendung anderer Tools erreicht werden: Verwenden des Befehlszeilencompilers (JAVAC), um eine Bytecode -Datei (Dateiname.class) zu generieren. Verwenden Sie den Java Interpreter (Java), um Bytecode zu interpretieren, den Code auszuführen und das Ergebnis auszugeben.

Was ist der Hauptzweck von Linux? Was ist der Hauptzweck von Linux? Apr 16, 2025 am 12:19 AM

Zu den Hauptanwendungen von Linux gehören: 1. Server -Betriebssystem, 2. Eingebettes System, 3. Desktop -Betriebssystem, 4. Entwicklungs- und Testumgebung. Linux zeichnet sich in diesen Bereichen aus und bietet Stabilität, Sicherheits- und effiziente Entwicklungstools.

VSCODE Vorheriger nächster Verknüpfungsschlüssel VSCODE Vorheriger nächster Verknüpfungsschlüssel Apr 15, 2025 pm 10:51 PM

VS Code One-Step/Nächster Schritt Verknüpfungsschlüsselnutzung: Einschritt (rückwärts): Windows/Linux: Strg ←; macOS: CMD ← Nächster Schritt (vorwärts): Windows/Linux: Strg →; macos: cmd →

Der Befehl vscode terminal kann nicht verwendet werden Der Befehl vscode terminal kann nicht verwendet werden Apr 15, 2025 pm 10:03 PM

Ursachen und Lösungen für die VS -Code -Terminalbefehle nicht verfügbar: Die erforderlichen Tools werden nicht installiert (Windows: WSL; MacOS: Xcode -Befehlszeilen -Tools) Pfadkonfiguration ist falsch (Hinzufügen von ausführbaren Dateien zu Pfadumgebungsvariablen hinzufügen) Berechtigungsprobleme Eine orientierte (neu installierende oder aktualisierte) Terminalkonfiguration ist inkompatibel (versuchen Sie verschiedene Terminaltypen oder Befehle) Spezifische Umgebungsvariablen fehlen (setzen Sie die erforderlichen Umgebungsvariablen).

See all articles