Maison > Article > Opération et maintenance > 6 façons de configurer les variables d'environnement Linux, recommandées à collecter !
Cet article vous propose six méthodes de configuration des variables d'environnement sous Linux. J'espère qu'il vous sera utile.
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
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
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
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
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
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
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注意事项:
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"
修改完之后保存,新开一个窗口,然后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视频教程》
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!