Comment vérifier si une variable d'environnement est définie sous Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez les techniques fondamentales pour travailler avec les variables d'environnement sous Linux. Vous explorerez comment afficher la valeur d'une variable spécifique à l'aide de la commande echo, vérifier si une variable est définie et afficher sa valeur à l'aide de la commande printenv, et lister toutes les variables d'environnement actuellement définies à l'aide de la commande set. Ces compétences sont essentielles pour comprendre et interagir avec le shell Linux et l'environnement système.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/UserandGroupManagementGroup -.-> linux/env("Environment Managing") linux/UserandGroupManagementGroup -.-> linux/set("Shell Setting") subgraph Lab Skills linux/echo -.-> lab-558782{{"Comment vérifier si une variable d'environnement est définie sous Linux"}} linux/env -.-> lab-558782{{"Comment vérifier si une variable d'environnement est définie sous Linux"}} linux/set -.-> lab-558782{{"Comment vérifier si une variable d'environnement est définie sous Linux"}} end

Afficher une variable avec echo

Dans cette étape, vous apprendrez à afficher la valeur d'une variable à l'aide de la commande echo. Les variables sous Linux sont utilisées pour stocker des informations qui peuvent être accessibles et utilisées par le shell et d'autres programmes.

Une variable courante que vous rencontrerez est $HOME, qui stocke le chemin vers votre répertoire personnel. Affichons sa valeur.

Tapez la commande suivante dans votre terminal et appuyez sur Entrée :

echo $HOME

Vous devriez voir le chemin vers votre répertoire personnel affiché dans le terminal, qui est généralement /home/labex dans cet environnement.

/home/labex

Le symbole $ avant le nom de la variable est crucial. Il indique au shell que vous souhaitez voir la valeur de la variable, et non la chaîne littérale "$HOME".

Maintenant, essayons d'afficher une variable qui n'existe pas.

Tapez cette commande et appuyez sur Entrée :

echo $MY_VARIABLE

Vous ne verrez aucun résultat. C'est parce que la variable MY_VARIABLE n'a pas été définie, donc sa valeur est vide.

Vous pouvez également afficher plusieurs variables à la fois :

echo $HOME $USER

Cela affichera la valeur de la variable $HOME, suivie de la valeur de la variable $USER (qui est votre nom d'utilisateur, labex).

/home/labex labex

Comprendre comment afficher les variables est une compétence fondamentale sous Linux, car les variables sont largement utilisées dans les scripts et la configuration du système.

Cliquez sur Continuer pour passer à l'étape suivante.

Vérifier une variable avec printenv

Dans l'étape précédente, vous avez utilisé echo pour afficher la valeur d'une variable. Une autre commande utile pour travailler avec les variables d'environnement est printenv.

printenv est spécifiquement conçue pour afficher les valeurs des variables d'environnement. Les variables d'environnement sont un type spécial de variables qui sont disponibles pour les processus en cours d'exécution dans le système.

Utilisons printenv pour afficher la valeur de la variable $USER.

Tapez la commande suivante dans votre terminal et appuyez sur Entrée :

printenv USER

Vous devriez voir votre nom d'utilisateur, labex, affiché dans le terminal.

labex

Notez que lorsque vous utilisez printenv, vous ne utilisez pas le symbole $ avant le nom de la variable. printenv attend le nom de la variable lui-même comme argument.

Que se passe-t-il si vous essayez d'afficher une variable qui n'existe pas en utilisant printenv?

Tapez cette commande et appuyez sur Entrée :

printenv MY_VARIABLE

De même que pour echo, vous ne verrez aucun résultat car la variable MY_VARIABLE n'est pas définie comme variable d'environnement.

Alors que echo peut afficher n'importe quelle variable, printenv est spécifiquement destiné aux variables d'environnement. Dans de nombreux cas, vous pouvez utiliser l'une ou l'autre, mais printenv est souvent préféré lorsque vous souhaitez travailler spécifiquement avec les variables d'environnement.

Cliquez sur Continuer pour passer à l'étape suivante.

Lister toutes les variables avec la commande set

Dans les étapes précédentes, vous avez appris à afficher des variables individuelles en utilisant echo et printenv. Mais que faire si vous souhaitez voir toutes les variables actuellement définies dans votre environnement de shell ?

La commande set, lorsqu'elle est utilisée sans arguments, répertorie toutes les variables de shell, y compris les variables d'environnement et les variables spécifiques au shell.

Tapez la commande suivante dans votre terminal et appuyez sur Entrée :

set

Vous verrez une longue liste de variables et de leurs valeurs. Cette sortie inclut les variables d'environnement (comme HOME, USER, PATH) ainsi que les variables spécifiques à votre session de shell actuelle.

...
HOME=/home/labex
HOSTNAME=...
HOSTTYPE=x86_64
...
LANG=C.UTF-8
...
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
...
SHELL=/usr/bin/zsh
...
USER=labex
...

La sortie peut être assez longue. Vous pouvez faire défiler l'écran pour voir les différentes variables définies par défaut dans votre environnement.

En comparant la sortie de set et de printenv (si vous exécutiez printenv sans arguments), vous remarqueriez que set inclut plus de variables. C'est parce que set affiche toutes les variables de shell, tandis que printenv n'affiche que les variables d'environnement.

Comprendre la différence entre les variables de shell et les variables d'environnement est important lorsque vous approfondissez vos connaissances sur Linux. Les variables d'environnement sont héritées par les processus enfants, tandis que les variables de shell sont généralement locales à la session de shell actuelle.

Vous avez maintenant appris trois façons d'interagir avec les variables sous Linux : echo (pour afficher des variables individuelles), printenv (pour afficher les variables d'environnement) et set (pour lister toutes les variables de shell).

Cliquez sur Continuer pour terminer ce laboratoire.

Résumé

Dans ce laboratoire, vous avez appris les méthodes fondamentales pour interagir avec les variables d'environnement sous Linux. Vous avez d'abord exploré l'utilisation de la commande echo avec le préfixe $ pour afficher la valeur d'une variable spécifique, en comprenant qu'une variable non définie ne produira aucun résultat. Vous avez également pratiqué l'affichage de plusieurs variables simultanément avec echo. Ensuite, vous avez été présenté à la commande printenv, un outil dédié à la vérification et à l'affichage des valeurs des variables d'environnement.