Comment définir et lister les variables d’environnement Linux

Les variables d’environnement Linux sont des paires clé-valeur qui définissent la session shell de votre système et le comportement du programme. Elles permettent aux administrateurs système de partager et de distinguer facilement les configurations entre les applications et les utilisateurs.

Les administrateurs peuvent les modifier à l’aide de commandes Linux pour ajuster les paramètres de leur serveur en fonction des besoins des applications hébergées. Selon les tâches à accomplir, vous pouvez également définir des variables d’environnement temporaires ou permanentes. 

Pour vous aider à les comprendre, cet article explique les variables d’environnement Linux et la manière de les gérer. Nous examinerons également leurs avantages et les meilleures pratiques pour les configurer en vue d’une administration efficace du système.


Les variables d’environnement sont des valeurs dynamiques qui déterminent le comportement des shells et des processus dans un système Linux. Grâce à elles, les administrateurs peuvent facilement définir les paramètres par défaut et partager les configurations entre les applications pour une gestion plus efficace.
Les utilisateurs peuvent visualiser toutes les variables d’environnement et leurs valeurs à l’aide de la commande printenv et en définir de nouvelles à l’aide de l’utilitaire export.

Les distributions Linux disposent de variables d’environnement et de variables d’interpréteur de commandes, qui fonctionnent de manière similaire mais ont des portées différentes.

Les variables d’environnement ont une portée globale et sont accessibles dans toutes les sessions du shell, les processus enfants et les autres programmes. Elles peuvent s’appliquer à un utilisateur spécifique ou à tous les comptes d’un système. 

Par ailleurs, les variables d’environnement locales ou du shell ne s’appliquent qu’à la session en cours au cours de laquelle elles ont été créées. Vous ne pouvez pas les utiliser dans des sous-shells, dans d’autres processus ou dans des comptes différents.

Comment gérer les variables d’environnement de Linux

Dans cette section, nous allons expliquer comment vérifier les variables d’environnement sous Linux. Pour un système distant tel qu’un serveur privé virtuel (VPS), connectez-vous à l’aide d’un client SSH tel que PuTTy ou Terminal.

Conseil de pro

Hostinger propose une fonctionnalité de terminal de navigateur permettant d’exécuter des commandes et de gérer des variables système sur des serveurs Linux via des navigateurs web. En plus d’être pratique, cet outil est utile lorsque les utilisateurs désactivent SSH pour des raisons de sécurité.

Comment lister les variables d’environnement sous Linux

Pour obtenir la liste de toutes les variables d’environnement sous Linux, exécutez la commande printenv sans options ni drapeaux :

printenv

Par défaut, Terminal imprime toutes les variables d’environnement et leurs valeurs, ce qui rend la sortie très longue. Ajoutez le modificateur less pour réduire la liste :

printenv | less

Vous pouvez également utiliser env, qui fonctionne de la même manière que printenv. Par ailleurs, la commande set permet d’imprimer les variables de l’interpréteur de commandes et de l’environnement. 

Si vous souhaitez afficher uniquement les variables de l’interpréteur de commandes Linux de l’utilisateur actuel, utilisez grep pour filtrer la sortie.

Dans les distributions Linux les plus populaires, les variables d’environnement les plus courantes sont les suivantes :

  • PWD – le répertoire de travail actuel.
  • USER – le compte utilisateur actuellement connecté. 
  • SHELL – l’emplacement de l’interpréteur de commandes de l’utilisateur actuel.
  • HOME – le répertoire personnel de l’utilisateur.
  • EDITOR – l’éditeur de fichiers par défaut du système.
  • PATH – l’emplacement de tous les fichiers exécutables du système.

Ces variables spéciales ont des objectifs et des rôles prédéfinis. Toutefois, vous pouvez en définir d’autres pour configurer votre système en fonction de vos besoins.

Comment imprimer les variables d’environnement sous Linux

La commande echo permet d’imprimer une seule valeur de variable d’environnement. Voici la syntaxe :

echo $VARIABLE

Tenez compte des majuscules, car cette commande est sensible à la casse. Par exemple, entrez la commande suivante pour récupérer la valeur de la variable d’environnement PATH :

echo $PATH

Vous pouvez également utiliser la commande printenv avec la variable que vous souhaitez consulter. Par exemple, exécutez la commande suivante pour vérifier la valeur de la variable d’environnement HOME :

printenv HOME

Vous pouvez également utiliser la commande grep pour vérifier si une entrée existe. Par exemple, exécutez la commande ci-dessous pour rechercher la variable USER :

printenv | grep USER

Pour interroger les valeurs de plusieurs variables d’environnement, énumérez-les après la commande printenv comme suit :

printenv VAR1 VAR2

Comment définir les variables d’environnement sous Linux

La commande export permet de définir temporairement une variable d’environnement globale dans un système d’exploitation Linux. Voici la syntaxe :

export VAR="value"

Remplacez VAR par le nom de la variable que vous souhaitez modifier et value par sa nouvelle valeur. Par exemple, exécutez la commande suivante pour définir le répertoire personnel d’un nouvel utilisateur :

export HOME="/etc/another/path"

La sortie devrait changer si vous imprimez la valeur de la variable HOME à l’aide de la commande echo. Vous pouvez également définir plusieurs valeurs à l’aide d’un point-virgule, comme dans le cas suivant :

export VAR="value1:value2"

N’oubliez pas que cette commande n’applique la nouvelle variable globale qu’à l’environnement actuel. En outre, les modifications seront réinitialisées après le redémarrage du système.

Pour définir une variable d’environnement locale, spécifiez la valeur directement dans l’interface de ligne de commande à l’aide de la syntaxe suivante :

var="value"

Utilisez des lettres minuscules pour la distinguer de la variable globale et éviter les chevauchements. Si vous entrez dans un sous-shell à l’aide de la commande bash, l’impression de la valeur donnera une sortie vide.

Conseil de pro

Nous recommandons d’utiliser les variables d’environnement temporaires pour des tâches telles que le débogage ou les tests, car elles n’affecteront pas les autres processus de l’interpréteur de commandes.

Comment créer des variables d’environnement persistantes sous Linux

Modifiez les fichiers de configuration spécifiques à l’interpréteur de commandes pour rendre vos variables d’environnement persistantes. Cependant, le fichier à éditer dépend de la configuration spécifique à l’utilisateur ou à l’ensemble du système que vous souhaitez modifier.

Variables d’environnement spécifiques à l’utilisateur

Modifiez le fichier ~/.bashrc pour ne définir qu’une variable d’environnement permanente pour l’utilisateur actuel. Pour ce faire, ouvrez-le à l’aide d’un éditeur de texte tel que nano :

sudo nano ~/.bashrc

Ajoutez la paire clé-valeur au début ou à la fin du fichier pour une meilleure organisation. Voici la syntaxe :

export VAR="VALUE"

Appuyez sur Ctrl+X, Y et Entrée pour fermer nano et enregistrer les modifications. Actualisez la session shell en cours pour appliquer la nouvelle configuration à l’aide de cette commande :

source ~/.bashrc

Au lieu de ~/.bashrc, modifiez le fichier ~/.profile si vous souhaitez définir des variables pour les shells de connexion. 

Notez que vous pouvez également modifier les fonctions de l’interpréteur de commandes par l’intermédiaire du fichier ~./bashrc.

Variables d’environnement à l’échelle du système

Pour définir des variables d’environnement permanentes qui s’appliquent à tous les utilisateurs d’un système d’exploitation, modifiez le fichier /etc/environment à l’aide d’un éditeur de texte :

sudo nano /etc/environment

Ajouter les paires clé-valeur au fichier en utilisant la syntaxe de base sans exportation :

VAR="VALUE"

Enregistrez le fichier et fermez nano. Pour appliquer les modifications, reconnectez-vous à l’utilisateur actuel ou redémarrez le système à l’aide de la commande reboot. La configuration sera chargée chaque fois que vous entrerez dans le shell de connexion bash

En plus du fichier /etc/environment, vous pouvez ajouter la variable d’environnement au répertoire /etc/profile.d. Pour ce faire, accédez au répertoire à l’aide de la commande suivante :

sudo cd /etc/profile.d

Créez un nouveau fichier de script shell pour stocker votre nouvelle variable globale à l’aide de l’éditeur de texte nano :

sudo nano global_env.sh

Remplacez global_env par le nom de votre choix, de préférence un nom descriptif, pour simplifier l’identification. Dans nano, écrivez vos variables d’environnement en utilisant la syntaxe suivante :

export VAR="VALUE"

Enregistrez les modifications et fermez l’éditeur de texte. Redémarrez votre système pour appliquer les paramètres à l’interpréteur de commandes bash. 

Si vous exécutez la commande printenv, la nouvelle configuration devrait apparaître dans votre liste de variables d’environnement Linux.

Comment supprimer des variables d’environnement sous Linux

La commande unset permet de supprimer une variable d’environnement sous Linux. Voici la syntaxe :

unset VAR

Remplacez VAR par la variable que vous souhaitez supprimer. N’oubliez pas que la suppression ne s’applique que temporairement, ce qui signifie que les paires clé-valeur reviendront après le redémarrage du système. 

Pour supprimer définitivement une variable d’environnement, ouvrez votre fichier de configuration ~/.bashrc ou /etc/environment à l’aide d’un éditeur de texte. Supprimez la ligne correspondante et enregistrez les modifications.

Au lieu de supprimer, nous recommandons d’ajouter un symbole dièse (#) au début de la chaîne pour la désactiver. Vous pouvez rapidement réactiver la variable d’environnement en supprimant le caractère lorsque la modification provoque une erreur.

Variables d’environnement Linux dans le développement

Les variables d’environnement vous permettent de configurer facilement différentes zones des bases de code pour stocker des informations sensibles pour vos applications. Elles contribuent à améliorer la sécurité puisque les administrateurs peuvent limiter leur accès à des utilisateurs spécifiques.

En outre, l’utilisation de variables d’environnement dans les scripts shell permet de simplifier le processus de déploiement automatique. Au lieu d’écrire manuellement des informations telles que les URL d’API dans chaque fichier .sh, il suffit de les exporter pour appliquer la valeur.

En outre, il simplifie la gestion et le développement de l’application puisqu’il n’est pas nécessaire de modifier fréquemment la base de code. Par exemple, nous avons défini deux URL d’API différentes en tant que variables d’environnement :

export PYAPP_ENV="TEST"

export PYAPP_TEST_API="https://api.domain.tld/"

export PYAPP_DEPLOY_API="https://api2.domain.tld/"

Nous appelons la variable environnementale PYAPP_ENV dans la base de code de l’application. Pendant le déploiement, nous pouvons changer sa valeur temporairement en DEPLOY, en appliquant le PYAPP_DEPLOY_API.

Le fait de disposer de plusieurs variables permet de gagner du temps, car il n’est pas nécessaire de les mettre à jour individuellement lorsque l’application passe à un autre stade de développement. 

Bonnes pratiques pour les variables d’environnement Linux

Dans cette section, nous allons explorer les meilleures pratiques en matière de variables d’environnement Linux pour vous aider à gérer votre serveur facilement et en toute sécurité. 

Utilisez Kodee pour une gestion facile des variables d’environnement.

Tous les plans d’hébergement VPS Hostinger incluent Kodee, un assistant IA qui vous permet de générer rapidement des commandes ou des instructions à l’aide de simples invites.

Pour accéder à l’outil, ouvrez hPanel et cliquez sur VPS dans le menu supérieur. Sélectionnez le serveur correspondant et cliquez sur Kodee dans la barre latérale. 

Il écrira les configurations pour définir les variables d’environnement Linux, que vous pouvez rapidement copier-coller dans le terminal du navigateur. 

Par exemple, demandez à Kodee : “Je dois générer un script pour définir des variables d’environnement pour mon projet. J’ai besoin de trois variables : ‘API_KEY‘ avec la valeur ‘123‘, ‘DB_URL‘ avec la valeur ‘https://example.tld/database’ et ‘LOG_LEVEL‘ avec la valeur ‘debug‘. Ecrivez le script Bash pour moi”.

Vous pouvez également utiliser l’outil pour le dépannage des variables Linux. Par exemple, demandez à Kodee : “Je dois modifier les variables d’environnement globales définies pour tous les utilisateurs. J’ai ajouté le nouveau fichier au fichier /etc/environment, mais cela ne fonctionne pas. Quelles sont les causes possibles et leurs solutions ?”

Toutefois, nous vous recommandons de revérifier le script généré ou la configuration dans la zone de développement. Comme pour tout outil d’intelligence artificielle, certaines informations peuvent être inexactes. 

Utiliser des noms de variables d’environnement descriptifs

Utilisez un nom de variable d’environnement descriptif pour simplifier l’identification et l’organisation. Évitez les phrases vagues telles que VAR1 ou DATABASE_VAR, car elles peuvent compliquer les tâches de gestion. 

Il se peut que vous ne puissiez pas identifier ces variables et leurs fonctions, en particulier si vous avez plusieurs environnements. En outre, la modification de paramètres erronés peut affecter le fonctionnement de votre système. 

Il est recommandé d’utiliser un nom suggérant l’objectif de la variable. Par exemple, si elle détermine le chemin d’accès au répertoire de stockage des fichiers par défaut, utilisez des noms tels que LOG_PATH ou EXECUTION_PATH au lieu de PATH uniquement.

Éviter la portée variable

Il est essentiel de définir le bon champ d’application des variables d’environnement sous Linux pour garantir la fonctionnalité et la sécurité du système. Par exemple, utilisez une variable shell pour des tâches temporaires, comme le répertoire cible de déploiement d’applications et l’adresse d’un serveur distant. 

Dans le même temps, définissez des variables d’environnement pour définir les paramètres utilisés par plusieurs applications, tels que le proxy HTTP ou les paramètres linguistiques.

La définition d’une variable de portée incorrecte risque de remplacer la configuration, ce qui entraînera une erreur. La création d’une variable shell portant le même nom qu’une variable globale rend le système confus, car il ne sait pas laquelle utiliser. 

Pour éviter tout problème, définissez temporairement les variables de l’interpréteur de commandes afin qu’elles ne se chevauchent pas lorsqu’elles sont utilisées dans une autre session. Respectez également les conventions de dénomination des variables Linux pour permettre au système de faire la distinction entre les variables globales et les variables locales.

Utilisez des lettres minuscules pour écrire une variable shell et des lettres majuscules pour la variable globale. Par exemple, utilisez la variable PATH pour les tâches générales et path_deploy_pyapp pour une utilisation temporaire.

Contrôler et auditer régulièrement les variables de l’environnement

L’audit régulier des variables Linux vous permet de repérer rapidement les configurations obsolètes susceptibles de provoquer des dysfonctionnements du serveur. La mise à jour permet de s’assurer qu’elles respectent les dernières configurations logicielles et systèmes afin d’éviter les problèmes d’incompatibilité.

De plus, elles peuvent contenir des informations sensibles telles que des clés d’API obsolètes ou des informations d’identification, ce qui compromet la sécurité de votre système d’exploitation virtuel. Des audits réguliers permettent d’améliorer la sécurité des variables d’environnement, en empêchant les parties non autorisées d’y accéder. 

Pour simplifier le processus d’audit, créez une documentation de configuration. La manière la plus simple de le faire est d’exporter des variables sous Linux à l’aide de l’opérateur suivant :

set > user_shell_ddmmyyyy.txt

En outre, la commande vous permet également de créer des sauvegardes de variables d’environnement Linux pour une restauration plus simple. 

Conclusion

Les variables d’environnement sous Linux sont des paires clé-valeur qui déterminent le comportement de l’interpréteur de commandes et des processus de votre système. Elles permettent aux administrateurs de serveurs de distinguer et de partager facilement les configurations entre les utilisateurs ou les applications. 

Pour afficher toutes les variables d’environnement, entrez la commande printenv ou env dans Terminal. Entre-temps, exécutez l’utilitaire echo $var ou utilisez printenv var pour vérifier une paire clé-valeur particulière.

Utilisez la commande export pour définir temporairement de nouvelles variables d’environnement. Pour en créer une permanente, ajoutez les paires clé-valeur dans les fichiers de configuration ~/.bashrc ou /etc/environment à l’aide d’un éditeur de texte tel que nano

Ajoutez un symbole dièse (#) au début de la paire clé-valeur dans ces fichiers pour désactiver les variables d’environnement correspondantes. Vous pouvez également utiliser la commande unset pour les supprimer temporairement.

Lorsque vous configurez des variables d’environnement sous Linux, utilisez l’assistant VPS IA d’Hostinger, Kodee, pour simplifier la tâche. En outre, utilisez des noms descriptifs, évitez la portée des variables et revoyez régulièrement votre configuration pour garantir des performances et une sécurité optimales du serveur. 

Variable d’environnement Linux – FAQ

Comment trouver les variables d’environnement de Linux ?

Pour obtenir la liste des variables d’environnement actuellement définies sur votre système, utilisez la commande printenv ou env. L’option less permet d’obtenir une sortie plus courte.
Utilisez la commande echo $var ou printenv var pour vérifier une variable spécifique. Enfin, lancez la commande set pour vérifier les variables d’environnement et de l’interpréteur de commandes.

Quels sont les types de variables d’environnement sous Linux ?

Il existe des variables d’environnement locales et globales. Les variables locales ou shell s’appliquent à la session en cours au cours de laquelle elles sont définies et sont réinitialisées lors du redémarrage du système.
Les variables environnementales globales sont de deux types. Vous pouvez utiliser la configuration globale à l’aide de n’importe quel compte, tandis que la variable spécifique à l’utilisateur s’applique à un seul utilisateur.

Quelle est la différence entre les variables d’environnement locales et globales de Linux ?

Les variables locales ne s’appliquent qu’à un processus spécifique ou à l’instance actuelle du shell dans laquelle elles sont définies. Elles sont inaccessibles aux autres programmes ou scripts.
Quant aux paramètres globaux, ils affectent tous les processus, sous-processus et interpréteurs de commandes d’un environnement. Il est accessible à tous les programmes d’un même utilisateur.

Author
L'auteur

Chaimaa Chakir

Chaimaa est une spécialiste du référencement et du marketing de contenu chez Hostinger. Elle est passionnée par le marketing digital et la technologie. Elle espère aider les gens à résoudre leurs problèmes et à réussir en ligne. Chaimaa est une cinéphile qui adore les chats et l'analyse des films.