fatmawati achmad zaenuri/Shutterstock.com
Pour répertorier les variables d’environnement sous Linux, utilisez la commande printenv. Cela vous montrera toutes les variables d’environnement, mais vous pouvez obtenir des résultats consultables en les dirigeant dans la commande less. Vous pouvez également utiliser grep pour vérifier des variables d’environnement spécifiques.
Sous Linux, les variables d’environnement contiennent des valeurs et des paramètres importants. Les scripts, les applications et les shells lisent ces valeurs, souvent pour se configurer eux-mêmes ou pour contrôler leur comportement. Voici plusieurs façons d’afficher les variables d’environnement dans votre terminal et d’interpréter également la liste.
Tout sur les variables d’environnement
Nos différents ordinateurs de test ont en moyenne 50 variables d’environnement sur chacun d’eux. Une variable d’environnement, comme toute autre variable, est une combinaison d’un nom et d’une valeur. Le nom est unique, défini lors de la création de la variable et il dure toute la durée de vie de la variable d’environnement.
Les variables détiennent des valeurs pour nous. Lorsqu’un processus a besoin de connaître la valeur, il recherche la variable par son nom dans une liste et en lit la valeur. Bien que les noms de variables ne puissent pas être modifiés, leurs valeurs peuvent l’être.
Vous ne modifierez pas souvent les variables d’environnement système, mais vous le pouvez si nécessaire. Par exemple, vous pouvez augmenter la taille du cache de l’historique des commandes de votre shell Bash. Vous pouvez modifier la valeur du $HISTSIZE
variable d’environnement dans votre fichier « .bashrc » pour définir une nouvelle limite supérieure pour le nombre de commandes mémorisées.
C’est propre et pratique, mais ce n’est pas quelque chose que vous ferez souvent. Les variables d’environnement ont tendance à être laissées à leurs valeurs par défaut ou elles sont modifiées une fois puis oubliées. Ce n’est pas quelque chose que vous bricolerez souvent.
Néanmoins, il est utile de savoir comment vérifier les variables d’environnement définies et utilisées sur votre ordinateur. L’impression des variables d’environnement dans une fenêtre de terminal vous permet de voir leurs valeurs et vous montre quels aspects de votre expérience Linux sont régis par ces valeurs d’arrière-plan.
Comment afficher la valeur d’une variable d’environnement
Vous pouvez utiliser echo
pour voir la valeur stockée dans une variable d’environnement. Pour ce faire, vous devez connaître le nom de la variable d’environnement à l’avance.
echo $HOME
echo $USER
Il existe deux méthodes couramment utilisées pour afficher les noms et les valeurs de toutes les variables d’environnement sous Linux. Ils sont les env
et le printenv
commandes.
Le printenv
La commande est la manière officielle de le faire. La commande a été écrite spécifiquement à cet effet. Le env
la commande a un objectif tout à fait différent.
env
est utilisé pour exécuter une application avec des valeurs temporaires, spécifiées par l’utilisateur, pour les variables d’environnement. Celles-ci remplacent les valeurs réelles stockées et permettent à l’application de s’exécuter dans un environnement modifié. Si vous invoquez env
sans paramètres de ligne de commande, son action par défaut est de lister les variables d’environnement.
Nous pouvons tout aussi bien utiliser l’outil conçu pour le travail, plutôt que de dépendre de l’effet secondaire d’un outil qui a été invoqué de manière incorrecte, nous utiliserons donc printenv
pour vérifier les variables d’environnement dans nos exemples.
Comment lister les variables d’environnement à l’aide de printenv
Le printenv
La commande vous permet d’afficher les variables d’environnement et est très simple en pratique. Il a très peu d’options. Vous pouvez utiliser le --version
option pour connaître le numéro de version de la version sur votre ordinateur, et vous pouvez utiliser l’ --help
commande pour voir une brève description de ces deux options de ligne de commande et une autre.
L’autre option est la -0
(terminateur nul). D’habitude, printenv
répertorie les variables d’environnement une par ligne, en ajoutant un caractère de saut de ligne à la fin de chaque ligne. Le -0
L’option remplace ce caractère de saut de ligne par un octet nul. Vous utiliseriez cette option si vous étiez diriger la sortie vers une autre application qui n’a pas besoin des caractères de saut de ligne.
printenv -0
L’effet de la -0
option dans une fenêtre de terminal est de regrouper la sortie dans un mur de texte impénétrable.
Il est pratiquement impossible de donner un sens aux variables d’environnement listées dans ce format. Ce sera un événement rare si jamais vous avez besoin d’utiliser le -0
option. Laissons tomber et réessayons.
printenv
La sortie est imprimée avec une variable d’environnement par ligne. Par convention, les noms de variables d’environnement utilisent toujours des caractères majuscules. Immédiatement après le nom de la variable se trouve un signe égal « =
« , suivi de la valeur à laquelle la variable d’environnement est définie.
Il y a encore beaucoup de sortie, donc vous trouverez peut-être plus facile de diriger les variables d’environnement dans less
.
printenv | less
Cela vous permet de faire défiler la liste des variables d’environnement et de rechercher également dans la liste.
Si vous savez quelque chose sur la variable d’environnement qui vous intéresse, vous pouvez utiliser grep
pour trouver les candidats potentiels. Supposons que vous sachiez qu’il existe une variable d’environnement contenant le mot « affichage ». Nous pouvons rechercher la liste comme ceci:
printenv | grep DISPLAY
Quelques variables d’environnement courantes
Les variables d’environnement par défaut sur les différents ordinateurs Linux sont soumises aux préférences des mainteneurs des différentes distributions, environnements de bureau et shells. Ainsi, lorsque vous vérifiez les variables d’environnement sur votre appareil Linux, vous pouvez voir des résultats variables.
Voici quelques-unes des variables d’environnement les plus courantes que vous trouverez probablement sur un ordinateur Linux utilisant l’environnement de bureau GNOME.
- BASHOPTS: La liste des options de ligne de commande utilisées lors du lancement de bash.
- BASH_VERSION: La version de bash.
- COLONNES: La largeur du terminal en colonnes.
- DIRSTACK: La pile de répertoires à utiliser avec le
pushd
etpopd
commandes. - HISTFILESIZE: Le nombre maximum de lignes d’historique de commandes pouvant être écrites dans le fichier d’historique.
- TAILLE D’HIST: Le nombre maximum de lignes d’historique de commandes autorisées à être stockées en mémoire. Si vous dépassez ce nombre, les commandes précédemment mémorisées sont écrasées dans la mémoire. Lorsque vous fermez la fenêtre de votre terminal, l’historique des commandes est écrit dans le fichier d’historique.
- DOMICILE: Le répertoire personnel de l’utilisateur actuel.
- NOM D’HÔTE: Le nom de l’ordinateur.
- IFS: Le séparateur de champ interne utilisé pour analyser l’entrée de l’utilisateur. La valeur par défaut est un espace.
- LANGUE: les paramètres de langue et de localisation actuels, y compris l’encodage des caractères.
- LS_COLORS: Cela définit les codes qui sont utilisés pour ajouter de la couleur à la sortie de ls.
- COURRIER: chemin d’accès à la boîte aux lettres Linux de l’utilisateur actuel.
- OLDPWD: Le répertoire de travail précédent.
- PS1: la définition de l’invite de commande principale. Cela définit à quoi ressemble l’invite dans la fenêtre de votre terminal.
- CHEMIN: Une liste de répertoires séparés par deux-points qui sont recherchés, dans l’ordre, pour une commande ou une application correspondante lorsque vous tapez une commande dans le shell.
- PWD: Le répertoire de travail courant.
- COQUILLE: Le nom de votre shell par défaut.
- TERME: Le type de terminal qui est émulé lorsque vous exécutez un shell.
- UID: L’identifiant de l’utilisateur actuel.
- UTILISATEUR: L’utilisateur actuel.
- _: La dernière commande exécutée. Si tu utilises
printenv
pour l’énumérer, ce sera toujoursprintenv
.
Inspections environnementales
Pour lister toutes vos variables d’environnement, utilisez printenv
. Dirigez la sortie à travers grep
pour filtrer les résultats, et utilisez echo
pour imprimer la valeur d’une variable d’environnement spécifique et connue.