Heim > Artikel > Betrieb und Instandhaltung > 6 Möglichkeiten zum Konfigurieren von Linux-Umgebungsvariablen, zum Sammeln empfohlen!
Dieser Artikel stellt Ihnen sechs Methoden zum Konfigurieren von Umgebungsvariablen unter Linux vor. Ich hoffe, er wird Ihnen hilfreich sein.
Linux-Umgebungsvariablenkonfiguration
Beim Anpassen der Softwareinstallation ist es häufig erforderlich, Umgebungsvariablen zu konfigurieren. Hier sind verschiedene Möglichkeiten, Umgebungsvariablen zu konfigurieren.
Die Umgebungsbeschreibung für alle folgenden Beispiele lautet wie folgt:
System: Ubuntu 14.0
Benutzername: uusama
MySQL-Umgebungsvariablenpfad muss konfiguriert werden: /home/uusama/mysql/bin
Linux liest Umgebungsvariablen
So lesen Sie Umgebungsvariablen:
Export-Befehl zeigt alle vom aktuellen System definierten Umgebungsvariablen an
echo $PATH-Befehl gibt den Wert der aktuellen PATH-Umgebungsvariablen aus
Die Auswirkung der Ausführung Diese beiden Befehle wie folgt: Die PATH-Variable definiert den Suchpfad für die Ausführung des Befehls. Verschiedene Pfade werden durch Doppelpunkte getrennt: Sie können doppelte Anführungszeichen hinzufügen oder nicht, wenn Sie die Exportdefinition verwenden.
Linux-Umgebungsvariablen-Konfigurationsmethode eins: PATH exportierenVerwenden Sie den Exportbefehl, um den Wert von PATH direkt zu ändern und MySQL für die Eingabe der Umgebungsvariablen zu konfigurieren:
uusama@ubuntu:~export declare -x HOME="/home/uusama" declare -x LANG="en_US.UTF-8" declare -x LANGUAGE="en_US:" declare -x LESSCLOSE="/usr/bin/lesspipe %s %s" declare -x LESSOPEN="| /usr/bin/lesspipe %s" declare -x LOGNAME="uusama" declare -x MAIL="/var/mail/uusama" declare -x PATH="/home/uusama/bin:/home/uusama/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" declare -x SSH_TTY="/dev/pts/0" declare -x TERM="xterm" declare -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
Hinweise:
Wirksamkeit: sofort wirksam
Wirksamkeitszeitraum: gültig für das aktuelle Terminal, ungültig nach Schließen des Fensters
Gültigkeitsbereich: nur für den aktuellen Benutzer gültig
Vergessen Sie nicht, die ursprüngliche Konfiguration, also den $PATH-Teil, zur konfigurierten Konfiguration hinzuzufügen Umgebungsvariablen, um ein Überschreiben der ursprünglichen Konfiguration zu vermeiden Zeitpunkt: Wirksam beim Öffnen eines neuen Terminals mit demselben Benutzer oder manuelle Quelle von ~/.bashrc, um wirksam zu werden
Wirksamkeitszeitraum: dauerhaft gültig
Gültigkeitsbereich: nur gültig für den aktuellen BenutzerWenn nachfolgende Umgebungsvariablen geladen werden Dateien, die die PATH-Definition überschreiben, werden möglicherweise nicht wirksam
Linux-Umgebungsvariablenkonfigurationsmethode drei: vim ~/.bash_profile
ähnelt dem Ändern der ~/.bashrc-Datei. Sie müssen auch eine neue hinzufügen Pfad am Ende der Datei:
export PATH=/home/uusama/mysql/bin:PATH # 或者把PATH放在前面 export PATH=PATH:/home/uusama/mysql/bin
Hinweise:
Wirksamkeitszeitraum: dasselbe verwenden. Es wird wirksam, wenn der Benutzer ein neues Terminal öffnet, oder manuell /.bash_profile eingeben, um wirksam zu werden
Wirksamkeitszeitraum: dauerhaft gültig
Wirksamkeitsbereich: nur gültig für den aktuellen BenutzerWenn keine /.bash_profile-Datei vorhanden ist, können Sie die ~/.profile-Datei bearbeiten oder eine neue
Linux-Umgebungsvariablenkonfigurationsmethode 4 erstellen: vim /etc/bashrc 🔜 etc/bashrc wirksam werden
Wirksamkeitszeitraum: Dauerhaft wirksam
Wirksamkeitsbereich: Wirksam für alle Benutzer
Konfigurationsmethode für Linux-Umgebungsvariablen fünf: vim / etc/profile
Diese Methode ändert die Systemkonfiguration und erfordert Administratorrechte oder Schreibberechtigungen für die Datei. Es ähnelt vim /etc/bashrc: vim ~/.bashrc
# 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin
Hinweise: Wirksamkeitszeit: Es wird wirksam, wenn ein neues Terminal geöffnet wird. Oder geben Sie /etc/profile manuell ein, um wirksam zu werden
vim ~/.bash_profile # 在最后一行加上 export PATH=$PATH:/home/uusama/mysql/binWirksamkeitszeit: Wirksam beim Öffnen eines neuen Terminals oder manuelle Quelle von /etc/environment Wirksamkeitszeitraum: Permanent Wirksamkeitsbereich: für alle Benutzer Wirksam Analyse der Linux-Umgebung Prinzip des Ladens von Variablen Oben sind verschiedene Konfigurationsmethoden für Umgebungsvariablen aufgeführt. Wie lädt Linux diese Konfigurationen? In welcher Reihenfolge werden sie geladen? Eine bestimmte Ladereihenfolge führt dazu, dass Umgebungsvariablendefinitionen mit demselben Namen überschrieben werden oder nicht wirksam werden.
Klassifizierung von Umgebungsvariablen
Umgebungsvariablen können einfach in benutzerdefinierte Umgebungsvariablen und Umgebungsvariablen auf Systemebene unterteilt werden. Umgebungsvariablen-Definitionsdateien auf Benutzerebene: /.bashrc, /.profile (einige Systeme: /.bash_profile) Umgebungsvariablen-Definitionsdateien auf Systemebene: /etc/bashrc, /etc/profile (einige Systeme: /etc /bash_profile), /etc/environmentDarüber hinaus liest das System in den Benutzerumgebungsvariablen zuerst die Datei /.bash_profile (oder ~/.profile), wenn keine solche Datei vorhanden ist, liest es ~/. bash_login. Lesen Sie dann den Inhalt dieser Dateien ~/.bashrc.So testen Sie die Ladereihenfolge von Linux-Umgebungsvariablen
为了测试各个不同文件的环境变量加载顺序,我们在每个环境变量定义文件中的第一行都定义相同的环境变量UU_ORDER,该变量的值为本身的值连接上当前文件名称。
需要修改的文件如下:
/etc/environment
/etc/profile
/etc/profile.d/test.sh,新建文件,没有文件夹可略过
/etc/bashrc,或者/etc/bash.bashrc
/.bash_profile,或者/.profile
~/.bashrc
在每个文件中的第一行都加上下面这句代码,并相应的把冒号后的内容修改为当前文件的绝对文件名。
export UU_ORDER="$UU_ORDER:~/.bash_profile"
修改完之后保存,新开一个窗口,然后echo $UU_ORDER观察变量的值:
uusama@ubuntu:~echoUU_ORDER $UU_ORDER:/etc/environment:/etc/profile:/etc/bash.bashrc:/etc/profile.d/test.sh:~/.profile:~/.bashrc
可以推测出Linux加载环境变量的顺序如下:
/etc/environment
/etc/profile
/etc/bash.bashrc
/etc/profile.d/test.sh
~/.profile
~/.bashrc
Linux环境变量文件加载详解
由上面的测试可容易得出Linux加载环境变量的顺序如下,:
系统环境变量 -> 用户自定义环境变量 /etc/environment -> /etc/profile -> ~/.profile
打开/etc/profile文件你会发现,该文件的代码中会加载/etc/bash.bashrc文件,然后检查/etc/profile.d/目录下的.sh文件并加载。
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). if [ "PS1" ]; then if [ "BASH" ] && [ "BASH" != "/bin/sh" ]; then # The file bash.bashrc already sets the default PS1. # PS1='\h:\w\$ ' if [ -f /etc/bash.bashrc ]; then . /etc/bash.bashrc fi else if [ "`id -u`" -eq 0 ]; then PS1='# ' else PS1=' ' fi fi fi if [ -d /etc/profile.d ]; then for i in /etc/profile.d/*.sh; do if [ -r i ]; then .i fi done unset i fi
其次再打开~/.profile文件,会发现该文件中加载了~/.bashrc文件。
# if running bash if [ -n "BASH_VERSION" ]; then # include .bashrc if it exists if [ -f "HOME/.bashrc" ]; then . "HOME/.bashrc" fi fi # set PATH so it includes user's private bin directories PATH="HOME/bin:HOME/.local/bin:PATH"
从~/.profile文件中代码不难发现,/.profile文件只在用户登录的时候读取一次,而/.bashrc会在每次运行Shell脚本的时候读取一次。
一些小技巧
可以自定义一个环境变量文件,比如在某个项目下定义uusama.profile,在这个文件中使用export定义一系列变量,然后在~/.profile文件后面加上:sourc uusama.profile,这样你每次登陆都可以在Shell脚本中使用自己定义的一系列变量。
也可以使用alias命令定义一些命令的别名,比如alias rm="rm -i"(双引号必须),并把这个代码加入到~/.profile中,这样你每次使用rm命令的时候,都相当于使用rm -i命令,非常方便。
相关推荐:《Linux视频教程》
Das obige ist der detaillierte Inhalt von6 Möglichkeiten zum Konfigurieren von Linux-Umgebungsvariablen, zum Sammeln empfohlen!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!