Eine vollständige Anleitung zur Konfiguration von Linux-Umgebungsvariablen

Eine vollständige Anleitung zur Konfiguration von Linux-Umgebungsvariablen

Konfiguration der Linux-Umgebungsvariablen

Beim Anpassen der Softwareinstallation müssen Sie häufig Umgebungsvariablen konfigurieren. Im Folgenden werden verschiedene Methoden zum Konfigurieren von Umgebungsvariablen aufgeführt.

Die Umgebung für alle folgenden Beispiele ist wie folgt:

  • System: Ubuntu 14.0
  • Benutzername: uusama
  • Der Pfad der MySQL-Umgebungsvariable muss konfiguriert werden: /home/uusama/mysql/bin

Linux liest Umgebungsvariablen

Methoden zum Lesen von Umgebungsvariablen:

  • Der Exportbefehl zeigt alle Umgebungsvariablen an, die im aktuellen System definiert sind
  • Der Befehl echo $PATH gibt den Wert der aktuellen Umgebungsvariable PATH aus

Die Auswirkungen der Ausführung dieser beiden Befehle sind wie folgt

uusama@ubuntu:~$ export
deklariere -x HOME="/home/uusama"
declare -x LANG="en_US.UTF-8"
declare -x LANGUAGE="en_US:"
deklarieren -x LESSCLOSE="/usr/bin/lesspipe %s %s"
deklarieren -x LESSOPEN="| /usr/bin/lesspipe %s"
deklarieren -x LOGNAME="uusama"
deklariere -x MAIL="/var/mail/uusama"
deklarieren -x PATH="/home/uusama/bin:/home/uusama/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
deklarieren -x SSH_TTY="/dev/pts/0"
deklarieren -x TERM="xterm"
deklarieren -x USER="uusama"

uusama@ubuntu:~$ echo $PATH
/home/uusama/bin:/home/uusama/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Die Variable PATH definiert den Suchpfad für die Ausführung von Befehlen, wobei die einzelnen Pfade durch Doppelpunkte getrennt sind. Bei der Verwendung von Exportdefinitionen können doppelte Anführungszeichen hinzugefügt werden oder nicht.

Methode 1 der Konfiguration von Linux-Umgebungsvariablen: PATH exportieren

Verwenden Sie den Exportbefehl, um den Wert von PATH direkt zu ändern und MySQL so zu konfigurieren, dass die Umgebungsvariable eingegeben wird:

export PATH=/home/uusama/mysql/bin:$PATH

# Oder setzen Sie PATH voran export PATH=$PATH:/home/uusama/mysql/bin

Notiz:

  • Wirksam ab: Sofort
  • Gültigkeitsdauer: Gültig für das aktuelle Terminal, ungültig nach Schließen des Fensters
  • Wirkungsbereich: Nur gültig für den aktuellen Benutzer
  • Vergessen Sie nicht, die ursprüngliche Konfiguration zu den konfigurierten Umgebungsvariablen hinzuzufügen, also den $PATH-Teil, um ein Überschreiben der ursprünglichen Konfiguration zu vermeiden.

Methode 2 zur Konfiguration von Linux-Umgebungsvariablen: vim ~/.bashrc

Konfigurieren Sie, indem Sie die Datei ~/.bashrc im Benutzerverzeichnis ändern:

vim ~/.bashrc

# Fügen Sie export PATH=$PATH:/home/uusama/mysql/bin zur letzten Zeile hinzu

Notiz:

  • Effektiver Zeitpunkt: Wird wirksam, wenn Sie ein neues Terminal mit demselben Benutzer öffnen oder manuell source ~/.bashrc
  • Datum des Inkrafttretens: Dauerhaft
  • Wirkungsbereich: Nur gültig für den aktuellen Benutzer
  • Wenn eine nachfolgende Ladedatei für Umgebungsvariablen die PATH-Definition überschreibt, ist dies möglicherweise nicht wirksam.

Dritte Methode zur Konfiguration von Linux-Umgebungsvariablen: vim ~/.bash_profile

Ähnlich wie beim Ändern der Datei ~/.bashrc fügen Sie einfach den neuen Pfad am Ende der Datei hinzu:

vim ~/.bash_profile

# Fügen Sie export PATH=$PATH:/home/uusama/mysql/bin zur letzten Zeile hinzu

Notiz:

  • Effektiver Zeitpunkt: Wird wirksam, wenn Sie ein neues Terminal mit demselben Benutzer öffnen oder manuell die Quelle ~/.bash_profile aufrufen.
  • Datum des Inkrafttretens: Dauerhaft
  • Wirkungsbereich: Nur gültig für den aktuellen Benutzer
  • Wenn keine ~/.bash_profile-Datei vorhanden ist, können Sie die ~/.profile-Datei bearbeiten oder eine neue erstellen

Methode 4 der Konfiguration von Linux-Umgebungsvariablen: vim /etc/bashrc

Mit dieser Methode können Sie die Systemkonfiguration ändern. Dazu sind Administratorrechte (z. B. root) oder Schreibrechte für die Datei erforderlich:

# Wenn die Datei /etc/bashrc nicht editierbar ist, müssen Sie sie so ändern, dass sie editierbar ist. chmod -v u+w /etc/bashrc

vim /etc/bashrc

# Fügen Sie export PATH=$PATH:/home/uusama/mysql/bin zur letzten Zeile hinzu

Notiz:

  • Effektiver Zeitpunkt: Wird wirksam, wenn Sie ein neues Terminal öffnen oder /etc/bashrc manuell als Quelle verwenden.
  • Datum des Inkrafttretens: Dauerhaft
  • Geltungsbereich: Gilt für alle Nutzer

Methode 5 der Konfiguration von Linux-Umgebungsvariablen: vim /etc/profile

Diese Methode ändert die Systemkonfiguration und erfordert Administratorrechte oder Schreibrechte für die Datei, ähnlich wie vim /etc/bashrc :

# Wenn die Datei /etc/profile nicht editierbar ist, müssen Sie sie ändern, damit sie editierbar ist. chmod -v u+w /etc/profile

vim /etc/profil

# Fügen Sie export PATH=$PATH:/home/uusama/mysql/bin zur letzten Zeile hinzu

Notiz:

  • Effektiver Zeitpunkt: Wird wirksam, wenn ein neues Terminal geöffnet wird oder wenn Sie /etc/profile manuell als Quelle verwenden.
  • Datum des Inkrafttretens: Dauerhaft
  • Geltungsbereich: Gilt für alle Nutzer

Sechste Methode zur Konfiguration von Linux-Umgebungsvariablen: vim /etc/environment

Mit dieser Methode können Sie die Konfigurationsdatei der Systemumgebung ändern. Dazu sind Administratorrechte oder Schreibrechte für die Datei erforderlich:

# Wenn die Datei /etc/bashrc nicht editierbar ist, müssen Sie sie ändern, damit sie editierbar ist: chmod -v u+w /etc/environment

vim /etc/profil

# Fügen Sie export PATH=$PATH:/home/uusama/mysql/bin zur letzten Zeile hinzu

Notiz:

  • Effektiver Zeitpunkt: Wird wirksam, wenn Sie ein neues Terminal öffnen oder /etc/environment manuell als Quelle verwenden.
  • Datum des Inkrafttretens: Dauerhaft
  • Geltungsbereich: Gilt für alle Nutzer

Analyse des Ladeprinzips für Linux-Umgebungsvariablen

Oben sind verschiedene Konfigurationsmethoden für Umgebungsvariablen aufgeführt. Wie lädt Linux also diese Konfigurationen? In welcher Reihenfolge werden sie geladen?

Eine bestimmte Ladereihenfolge kann dazu führen, dass gleichnamige Umgebungsvariablendefinitionen überschrieben werden oder unwirksam werden.

Klassifizierung von Umgebungsvariablen

Umgebungsvariablen können einfach in benutzerdefinierte Umgebungsvariablen und Umgebungsvariablen auf Systemebene unterteilt werden.

  • Definitionsdateien für Umgebungsvariablen auf Benutzerebene: ~/.bashrc, ~/.bash_profile
  • Definitionsdateien für Umgebungsvariablen auf Systemebene: /etc/bashrc, /etc/bash_profile, /etc/environment

Darüber hinaus liest das System in den Benutzerumgebungsvariablen zuerst die Datei ~/.bash_profile. Wenn die Datei nicht vorhanden ist, wird ~/.bash_login gelesen. Wenn die Datei auch nicht vorhanden ist, wird ~/.profile gelesen und dann basierend auf dem Inhalt dieser Dateien ~/.bashrc.

So testen Sie die Ladereihenfolge der Linux-Umgebungsvariablen

Um die Reihenfolge zu testen, in der Umgebungsvariablen für verschiedene Dateien geladen werden, definieren wir in der ersten Zeile jeder Umgebungsvariablendefinitionsdatei dieselbe Umgebungsvariable UU_ORDER. Der Wert dieser Variablen ist ihr eigener Wert, der mit dem aktuellen Dateinamen verknüpft ist.

Die folgenden Dateien müssen geändert werden:

  • /etc/Umgebung
  • /etc/Profil
  • /etc/profile.d/test.sh, erstelle eine neue Datei, es können keine Ordner übersprungen werden
  • /etc/bashrc oder /etc/bash.bashrc
  • ~/.bash_profile oder ~/.profile
  • ~/.bashrc

Fügen Sie der ersten Zeile jeder Datei den folgenden Code hinzu und ändern Sie den Inhalt nach dem Doppelpunkt in den absoluten Dateinamen der aktuellen Datei.

exportiere UU_ORDER="$UU_ORDER:~/.bash_profile"

Nach der Änderung speichern Sie, öffnen ein neues Fenster und geben dann echo $UU_ORDER , um den Wert der Variablen anzuzeigen:

uusama@ubuntu:~$ echo $UU_ORDER
$UU_ORDER:/etc/Umgebung:/etc/Profil:/etc/bash.bashrc:/etc/profile.d/test.sh:~/.profile:~/.bashrc

Daraus lässt sich schließen, dass Linux die Umgebungsvariablen in der folgenden Reihenfolge lädt:

  • /etc/Umgebung
  • /etc/Profil
  • /etc/bash.bashrc
  • /etc/profile.d/test.sh
  • ~/.profile
  • ~/.bashrc

Detaillierte Erläuterung des Ladens von Linux-Umgebungsvariablendateien

Aus dem obigen Test lässt sich leicht schließen, dass die Reihenfolge, in der Linux Umgebungsvariablen lädt, wie folgt ist:

Systemumgebungsvariablen -> Benutzerdefinierte Umgebungsvariablen

/etc/environment -> /etc/profile -> ~/.profile

Öffnen Sie die Datei /etc/profile und Sie werden sehen, dass der Code in dieser Datei die Datei /etc/bash.bashrc lädt. Überprüfen und laden Sie anschließend die .sh-Datei im Verzeichnis /etc/profile.d/.

# /etc/profile: systemweite .profile-Datei für die Bourne-Shell (sh(1))
# und Bourne-kompatible Shells (bash(1), ksh(1), ash(1), ...).

wenn [ "$PS1" ]; dann
 wenn [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; dann
 # Die Datei bash.bashrc legt bereits die Standard-PS1 fest.
 # PS1='\h:\w\$ '
 wenn [ -f /etc/bash.bashrc ]; dann
 . /etc/bash.bashrc
 fi
 anders
 wenn [ "`id -u`" -eq 0 ]; dann
 PS1='#'
 anders
 PS1='$ '
 fi
 fi
fi

wenn [ -d /etc/profile.d ]; dann
 für i in /etc/profile.d/*.sh; mache
 wenn [ -r $i ]; dann
 . $ich
 fi
 Erledigt
 nicht gesetzt i
fi

Öffnen Sie zweitens die Datei ~/.profile und Sie werden feststellen, dass die Datei ~/.bashrc darin geladen ist.

# wenn Bash ausgeführt wird
wenn [ -n "$BASH_VERSION" ]; dann
 # .bashrc einschließen, falls vorhanden
 wenn [ -f "$HOME/.bashrc" ]; dann
 . "$HOME/.bashrc"
 fi
fi

# PATH so einstellen, dass er die privaten Bin-Verzeichnisse des Benutzers einschließt
PATH="$HOME/bin:$HOME/.local/bin:$PATH"

Aus dem Code in der Datei ~/.profile lässt sich unschwer erkennen, dass die Datei /.profile nur einmal gelesen wird, wenn sich der Benutzer anmeldet, während /.bashrc bei jeder Ausführung des Shell-Skripts einmal gelesen wird.

Einige Tipps

Sie können eine Umgebungsvariablendatei anpassen, z. B. uusama.profile unter einem bestimmten Projekt definieren, mithilfe von export eine Reihe von Variablen in dieser Datei definieren und dann nach der Datei ~/.profile Folgendes hinzufügen: sourc uusama.profile . Auf diese Weise können Sie bei jeder Anmeldung die im Shell-Skript definierte Reihe von Variablen verwenden.

Sie können den Befehl alias auch verwenden, um einige Befehlsaliase zu definieren, z. B. alias rm="rm -i" (Anführungszeichen erforderlich), und diesen Code zu ~/.profile hinzufügen. Auf diese Weise ist jedes Mal, wenn Sie den Befehl rm verwenden, dies gleichbedeutend mit der Verwendung des Befehls rm -i, was sehr praktisch ist.

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • So konfigurieren Sie Umgebungsvariablen in einer Linux-Umgebung
  • Eine kurze Einführung in Linux-Umgebungsvariablendateien
  • Zusammenfassung der Konfigurationsmethoden für Linux-Umgebungsvariablen (Unterschiede zwischen .bash_profile und .bashrc)
  • So konfigurieren Sie Bash-Umgebungsvariablen in Linux
  • Detaillierte Erläuterung der Konfigurationsstrategie für Linux-Umgebungsvariablen
  • So konfigurieren Sie Java-Umgebungsvariablen im Linux-System
  • Installation und Konfiguration von Java-Umgebungsvariablen unter Linux
  • Detaillierte Schritte zum Konfigurieren von Umgebungsvariablen in Linux
  • Eine kurze Erläuterung zum Ändern/Festlegen der Umgebungsvariable JAVA_HOME unter Linux

<<:  Detaillierte Erklärung zur Verwendung des MySQL-Parameters sql_safe_updates in der Produktionsumgebung

>>:  So implementieren Sie das Beobachtermuster in JavaScript

Artikel empfehlen

jQuery implementiert die Funktion zum Ziehen von Bildern mit der Maus

In diesem Beispiel wird jQuery verwendet, um eine...

So fragen Sie schnell 10 Millionen Datensätze in MySQL ab

Inhaltsverzeichnis Normale Paging-Abfrage So opti...

MySQL-Optimierung: InnoDB-Optimierung

Lernpläne werden leicht unterbrochen und es ist s...

So richten Sie Windows Server 2019 ein (mit Bildern und Text)

1. Installation von Windows Server 2019 Installie...

CSS zum Erzielen des Effekts einer rotierenden Flip-Card-Animation

Die CSS-Animation des rotierenden Flip-Effekts, d...

So kapseln Sie Axios in Vue

Inhaltsverzeichnis 1. Installation 1. Einleitung ...

Einfaches Beispiel für die Leistungsoptimierung von MySQL-SQL-Anweisungen

Einfaches Beispiel für die Leistungsoptimierung v...

Probleme und Lösungen für MYSQL5.7.17-Verbindungsfehler unter MAC

Das Problem, dass MYSQL5.7.17 unter MAC keine Ver...

Beispielcode zur Implementierung der Menüberechtigungssteuerung in Vue

Wenn Benutzer an einem Backend-Verwaltungssystem ...

Implementierungscode für die adaptive IFrame-Größe

Seitendomänenbeziehung: Die Hauptseite a.html gehö...