Comment utiliser set et pipefail dans les scripts Bash sous Linux
Agence web » Actualités du digital » Comment lister les variables d’environnement sous Linux

Comment lister les variables d’environnement sous Linux

Pour répertorier toutes les variables d’environnement sur un ordinateur Linux, utilisez la commande printenv. Transférez-le dans la commande less pour obtenir des résultats consultables ou utilisez grep pour imprimer des variables 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 ces variables dans votre terminal.

Tout sur les variables d’environnement

Nos différents ordinateurs de test disposent en moyenne de 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. La Nom est unique, défini lors de la création de la variable, et il dure pendant toute la durée de vie de la variable d’environnement.

Les variables tiennent valeurs pour nous. Lorsqu’un processus a besoin de connaître la valeur, il recherche la variable par son nom 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 intéressant de savoir comment afficher 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 vérifier leurs valeurs et vous montre quels aspects de votre expérience Linux sont régis par ces valeurs d’arrière-plan.

Commandes d’impression des variables 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

Utiliser echo pour voir les valeurs stockées dans les variables d'environnement

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.

La printenv La commande est la manière officielle de le faire. La commande a été écrite spécifiquement dans ce but. La env commande a un but 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 dans nos exemples.

Utilisation de printenv pour voir les variables d’environnement

La printenv la commande est très simple. 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). Généralement, printenv répertorie les variables d’environnement une par ligne, en ajoutant un caractère de saut de ligne à la fin de chaque ligne. La -0 L’option remplace ce caractère de saut de ligne par un octet nul. Vous utiliseriez cette option si vous dirigiez la sortie vers une autre application qui n’avait pas besoin des caractères de retour à la ligne.

printenv -0

Utiliser printenv avec l'option -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.

La sortie illisible de printenv lorsque l'option -0 est utilisée

Il est pratiquement impossible de lui donner un sens. Ce sera un événement rare si jamais vous avez besoin d’utiliser le -0 option. Laissons tomber et réessayons.

printenv

Utilisation de la commande printenv sans options

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.

La sortie standard de printenv, avec une variable d'environnement par ligne.

Il y a encore beaucoup de sortie, donc vous trouverez peut-être plus facile de diriger la sortie vers less .

printenv | less

Canaliser printenv dans la visionneuse de fichiers less

Cela vous permet de faire défiler la liste et de rechercher également dans la liste.

La sortie de printenv dans le visualiseur de fichiers less

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

Utilisation de grep pour filtrer les résultats de printenv

Quelques variables d’environnement courantes

Les variables d’environnement par défaut sur différents ordinateurs Linux sont soumises aux préférences des responsables des différentes distributions, environnements de bureau et shells.

Voici quelques-unes des variables d’environnement les plus courantes que vous trouverez probablement sur un hébergement 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 et popd 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.
  • personne handicapée: 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 toujours printenv.

Inspections environnementales

Pour voir 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.

★★★★★