6 façons de configurer les variables d'environnement Linux, recommandées à collecter !

WBOY
Libérer: 2022-01-06 17:27:32
avant
3628 Les gens l'ont consulté

Cet article vous propose six méthodes de configuration des variables d'environnement sous Linux. J'espère qu'il vous sera utile.

6 façons de configurer les variables d'environnement Linux, recommandées à collecter !

Configuration des variables d'environnement Linux

Lors de la personnalisation de l'installation d'un logiciel, il est souvent nécessaire de configurer les variables d'environnement. Voici différentes manières de configurer les variables d'environnement.

La description de l'environnement pour tous les exemples ci-dessous est la suivante :

Système : Ubuntu 14.0

Nom d'utilisateur : uusama

Besoin de configurer le chemin de la variable d'environnement MySQL : /home/uusama/mysql/bin

Linux lit les variables d'environnement

Comment lire les variables d'environnement :

  • La commande export affiche toutes les variables d'environnement définies par le système actuel

  • La commande echo $PATH affiche la valeur de la variable d'environnement PATH actuelle

L'effet de l'exécution ces deux commandes Comme suit

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
Copier après la connexion

La variable PATH définit le chemin de recherche pour exécuter la commande. Les différents chemins sont séparés par deux points :. Vous pouvez ajouter ou non des guillemets doubles lors de l'utilisation de la définition d'exportation.

Première méthode de configuration de la variable d'environnement Linux : exporter PATH

Utilisez la commande d'exportation pour modifier directement la valeur de PATH et configurer MySQL pour saisir la variable d'environnement :

export PATH=/home/uusama/mysql/bin:PATH
# 或者把PATH放在前面
export PATH=PATH:/home/uusama/mysql/bin
Copier après la connexion

Remarques :

Durée d'entrée en vigueur : en vigueur immédiatement

Période d'effet : valable pour le terminal actuel, invalide après la fermeture de la fenêtre

Plage de validité : valable uniquement pour l'utilisateur actuel

N'oubliez pas d'ajouter la configuration d'origine, c'est-à-dire la partie $PATH, à la configuration configurée variables d'environnement pour éviter d'écraser la configuration d'origine

Deuxième méthode de configuration des variables d'environnement Linux : vim ~/.bashrc

Configurez en modifiant le fichier ~/.bashrc dans le répertoire utilisateur :

vim ~/.bashrc
# 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin
Copier après la connexion

Remarques :

Efficacité time : en vigueur lors de l'ouverture d'un nouveau terminal avec le même utilisateur, ou sourcez manuellement ~/.bashrc pour prendre effet

Période d'efficacité : valide en permanence

Périmètre de validité : valable uniquement pour l'utilisateur actuel

S'il y a un chargement ultérieur de variables d'environnement les fichiers qui écrasent la définition de PATH, cela peut ne pas prendre effet

La troisième méthode de configuration des variables de l'environnement Linux : vim ~/.bash_profile

est similaire à la modification du fichier ~/.bashrc. chemin à la fin du fichier :

vim ~/.bash_profile
# 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin
Copier après la connexion

Remarques :

Durée d'efficacité : utilisez la même chose. Elle prendra effet lorsque l'utilisateur ouvrira un nouveau terminal, ou sourcez manuellement /.bash_profile pour prendre effet

Période d'efficacité : valide en permanence

Portée d'efficacité : valable uniquement pour l'utilisateur actuel

S'il n'y a pas de fichier /.bash_profile, vous pouvez modifier le fichier ~/.profile Ou créer une nouvelle

Méthode de configuration des variables d'environnement Linux quatre : vim /etc/bashrc

Cette méthode consiste à modifier la configuration du système et nécessite des droits d'administrateur (tels que root) ou des autorisations d'écriture sur le fichier :

# 如果/etc/bashrc文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/bashrc
vim /etc/bashrc
# 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin
Copier après la connexion

Notes :

Délai d'entrée en vigueur : ouvrez un nouveau terminal pour prendre effet, ou sourcez manuellement / etc/bashrc pour prendre effet

Période d'efficacité : efficace en permanence

Portée d'efficacité : efficace pour tous les utilisateurs

Méthode de configuration des variables d'environnement Linux cinq : vim / etc/profile

Cette méthode modifie la configuration du système et nécessite droits d'administrateur ou autorisations d'écriture sur le fichier. C'est similaire à vim /etc/bashrc :

# 如果/etc/profile文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/profile
vim /etc/profile
# 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin
Copier après la connexion

Remarques :

Durée d'effet : cela prend effet lorsqu'un nouveau terminal est ouvert ou source manuellement /etc/profile pour prendre effet

.

Période d'efficacité : valide en permanence

Périmètre de validité : valable pour tous les utilisateurs

Méthode de configuration des variables d'environnement Linux six : vim /etc/environment

Cette méthode consiste à modifier l'environnement système. Le fichier de configuration nécessite des droits d'administrateur ou en écriture autorisation sur le fichier :

# 如果/etc/bashrc文件不可编辑,需要修改为可编辑
chmod -v u+w /etc/environment
vim /etc/profile
# 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin注意事项:
Copier après la connexion

Délai d'efficacité : Prendre effet à l'ouverture d'un nouveau terminal, ou sourcer manuellement /etc/environment

Période d'efficacité : Permanente

Périmètre d'efficacité : pour tous les utilisateurs Efficace

Analyse de la variable d'environnement Linux principe de chargement

Diverses méthodes de configuration des variables d'environnement sont répertoriées ci-dessus, alors comment Linux charge-t-il ces configurations ? Dans quel ordre sont-ils chargés ?

Un ordre de chargement spécifique entraînera l'écrasement des définitions de variables d'environnement portant le même nom ou ne prendra pas effet.

Classification des variables d'environnement

Les variables d'environnement peuvent être simplement divisées en variables d'environnement définies par l'utilisateur et en variables d'environnement au niveau du système.

Fichiers de définition de variables d'environnement au niveau de l'utilisateur : /.bashrc, /.profile (certains systèmes : /.bash_profile)

Fichiers de définition de variables d'environnement au niveau du système : /etc/bashrc, /etc/profile (certains systèmes : /etc /bash_profile), /etc/environment

De plus, dans les variables d'environnement utilisateur, le système lira d'abord le fichier /.bash_profile (ou ~/.profile) s'il n'existe pas de tel fichier, il lira ~/. bash_login. Selon ces fichiers, lisez ensuite le contenu ~/.bashrc.

Comment tester l'ordre de chargement des variables d'environnement Linux

为了测试各个不同文件的环境变量加载顺序,我们在每个环境变量定义文件中的第一行都定义相同的环境变量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"
Copier après la connexion

修改完之后保存,新开一个窗口,然后echo $UU_ORDER观察变量的值:

uusama@ubuntu:~echoUU_ORDER
$UU_ORDER:/etc/environment:/etc/profile:/etc/bash.bashrc:/etc/profile.d/test.sh:~/.profile:~/.bashrc
Copier après la connexion

可以推测出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
Copier après la connexion

其次再打开~/.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"
Copier après la connexion

从~/.profile文件中代码不难发现,/.profile文件只在用户登录的时候读取一次,而/.bashrc会在每次运行Shell脚本的时候读取一次。

一些小技巧

可以自定义一个环境变量文件,比如在某个项目下定义uusama.profile,在这个文件中使用export定义一系列变量,然后在~/.profile文件后面加上:sourc uusama.profile,这样你每次登陆都可以在Shell脚本中使用自己定义的一系列变量。

也可以使用alias命令定义一些命令的别名,比如alias rm="rm -i"(双引号必须),并把这个代码加入到~/.profile中,这样你每次使用rm命令的时候,都相当于使用rm -i命令,非常方便。

相关推荐:《Linux视频教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:juejin.im
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!