Heim  >  Artikel  >  Betrieb und Instandhaltung  >  6 Möglichkeiten zum Konfigurieren von Linux-Umgebungsvariablen, zum Sammeln empfohlen!

6 Möglichkeiten zum Konfigurieren von Linux-Umgebungsvariablen, zum Sammeln empfohlen!

WBOY
WBOYnach vorne
2022-01-06 17:27:323649Durchsuche

Dieser Artikel stellt Ihnen sechs Methoden zum Konfigurieren von Umgebungsvariablen unter Linux vor. Ich hoffe, er wird Ihnen hilfreich sein.

6 Möglichkeiten zum Konfigurieren von Linux-Umgebungsvariablen, zum Sammeln empfohlen!

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

Wirksamkeitszeitraum: dauerhaft gültig

Gültigkeitsbereich: gültig für alle Benutzer

Konfigurationsmethode für Linux-Umgebungsvariablen sechs: vim /etc/environment

Diese Methode dient zum Ändern der Systemumgebung. Für die Konfigurationsdatei sind Administratorrechte oder Schreibrechte erforderlich Berechtigung für die Datei:

vim ~/.bash_profile
# 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin
Wirksamkeitszeit: 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/environment

Darü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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.im. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen