GNU/Linux >> Tutoriels Linux >  >> Linux

Comment définir et supprimer des variables d'environnement sous Linux

Sous Linux, savoir comment définir et supprimer une variable d'environnement s est indispensable pour gérer vos hébergeurs.

Les variables d'environnement sont un ensemble de paires clé-valeur stockées sur votre Linux et utilisées par les processus afin de pouvoir effectuer des opérations spécifiques.

Un exemple très populaire est lorsque vous essayez de définir le fuseau horaire sur votre système Linux.

Vous devrez peut-être définir des variables d'environnement pour que l'heure de votre système change.

Les variables d'environnement peuvent également être utilisées dans des programmes shell ou dans des sous-shells afin d'effectuer diverses opérations (par exemple savoir si l'utilisateur courant est root ou non).

Dans ce tutoriel, nous allons voir comment vous pouvez définir , désactivé et énumérer toutes les variables d'environnement sur votre système. Nous allons également examiner des fichiers spécifiques qui peuvent vous aider à définir facilement des variables d'environnement.

Définir les variables d'environnement sur Linux à l'aide de l'exportation

Sous Linux, vous disposez de différentes manières de définir vos variables d'environnement selon que vous souhaitez les rendre persistantes ou non.

Le moyen le plus simple de définir des variables d'environnement consiste à utiliser la commande d'exportation.

$ export VAR="value"

En utilisant l'exportation, votre variable d'environnement sera définie pour la session shell en cours.

Par conséquent, si vous ouvrez un autre shell ou si vous redémarrez votre système, votre variable d'environnement ne sera plus accessible. Si vous avez besoin de variables d'environnement persistantes, vous pouvez vous référer à la section suivante.

Pour obtenir la valeur de votre variable d'environnement, vous pouvez utiliser la commande "printenv" avec la variable que vous recherchez.

$ printenv <variable>

Par exemple, étant donné l'exemple cité ci-dessus, vous exécuteriez la commande suivante.

$ printenv VAR
value

Alternativement, vous pouvez utiliser des pipes Linux afin d'obtenir la valeur de vos variables d'environnement.

Vous pouvez également utiliser la commande echo mais vous devez avoir un signe dollar avant le nom de la variable.

$ echo $VAR
value

Définir des variables d'environnement persistantes sous Linux

Comme vous l'avez vu dans la section précédente, les variables d'environnement n'étaient pas persistantes lors des redémarrages du shell.

Cependant, il existe un moyen de rendre vos modifications persistantes :en utilisant des fichiers système qui sont lus et exécutés dans des conditions spécifiques.

Utiliser le fichier .bashrc

Le moyen le plus courant de définir des variables d'environnement de manière persistante consiste à les ajouter au fichier ".bashrc".

Le fichier ".bashrc" est un script exécuté chaque fois que vous initialisez une session shell interactive .

Par conséquent, lorsque vous lancez un nouveau Terminal via l'interface GNOME ou si vous utilisez simplement une session screen, vous allez utiliser le fichier .bashrc.

Par exemple, ajoutez les entrées suivantes à votre fichier .bashrc.

$ export TZ="America/New_York"

Enregistrez votre fichier et utilisez la commande source pour recharger le fichier bashrc pour votre session shell actuelle.

$ source ~/.bashrc

Vous pouvez imprimer votre nouvelle variable d'environnement avec "printenv" et voir comment votre date a été définie sous Linux en modifiant TZ.

$ printenv TZ
America/New_York

$ date
Sat 19 Oct 2019 10:03:00 AM EDT

Génial, vos modifications sont désormais persistantes lors des rechargements du shell ou du système.

Utiliser .bash_profile

Alternativement, si vous envisagez de vous connecter à vos sessions via des "shells de connexion", vous pouvez également ajouter vos variables d'environnement directement dans le fichier .bash_profile.

$ export TZ="America/New_York"

$ source ~/.bash_profile

Utiliser etc/environnement

Dans la section précédente, nous avons vu comment définir des variables d'environnement pour les utilisateurs de votre système.

Cependant, vous souhaiterez peut-être appliquer des variables d'environnement spécifiques pour tout le monde. Dans ce cas, vous allez définir des variables d'environnement à l'échelle du système.

Pour définir des variables d'environnement à l'échelle du système sous Linux, vous devez exporter vos variables dans le fichier /etc/environment.

Par exemple, pour changer l'éditeur utilisé globalement, vous pouvez modifier la variable EDITOR dans le fichier d'environnement.

$ export EDITOR="vi"

Maintenant, essayez de vous connecter en tant qu'utilisateurs différents sur votre système, et vous verrez que la variable EDITOR est définie pour tout le monde sur le serveur.

[email protected]:~$ printenv EDITOR
vi

Génial! Vous avez réussi à définir vos variables d'environnement de manière persistante sur Linux.

Définir les variables d'environnement sur une seule ligne

Maintenant que vous connaissez les détails sur la façon de définir les variables d'environnement, vous pouvez utiliser ces raccourcis afin de les définir facilement.

# One line for .bashrc
$ echo "export VAR="value"" >> ~/.bashrc && source ~/.bashrc


# One line for bash_profile
$ echo "export VAR="value"" >> ~/.bash_profile && source ~/.bash_profile


# One line for /etc/environment
$ echo "export VAR="value"" >> /etc/environment && source /etc/environment

Désactiver les variables d'environnement sous Linux

Maintenant que vous avez défini de nombreuses variables d'environnement sur votre système, vous souhaiterez peut-être en désactiver certaines si vous ne les utilisez plus.

Sous Linux, il existe deux façons de supprimer les variables d'environnement :en utilisant la commande unset ou en supprimant les entrées de variables dans vos fichiers système.

Utilisation de la commande unset

Pour annuler la définition d'une variable d'environnement, utilisez la commande unset avec la syntaxe suivante

$ unset <variable>

Compte tenu des exemples cités ci-dessus, vous exécuteriez ces commandes

$ unset USERNAME

$ printenv USERNAME
<nothing>

Utilisation de la commande set -n

Alternativement, vous pouvez désactiver les variables d'environnement en utilisant la commande set avec le drapeau "-n".

$ set -n USERNAME

$ printenv USERNAME
<nothing>

Ensemble commun de variables d'environnement sous Linux

Maintenant que vous savez comment définir et annuler les variables d'environnement sous Linux, il est temps d'examiner l'ensemble commun de variables d'environnement que vous pouvez trouver sur votre système.

  • UTILISATEUR  :le nom d'utilisateur actuel de l'utilisateur utilisant le système ;
  • EDITEUR  :le programme exécuté pour effectuer des modifications de fichiers sur votre hôte ;
  • ACCUEIL :le répertoire personnel de l'utilisateur actuel ;
  • CHEMIN  :une liste de répertoires séparés par des virgules dans lesquels le système recherche les commandes ;
  • PS1  :la chaîne d'invite principale (pour définir l'affichage de l'invite du shell) ;
  • PWD :le répertoire de travail courant ;
  • _ :la dernière commande exécutée sur le système (par l'utilisateur)
  • MAIL  :le chemin d'accès à la boîte aux lettres de l'utilisateur actuel ;
  • SHELL :le shell utilisé pour interpréter les commandes sur le système, il peut être très différent (comme bash, sh, zsh ou autres) ;
  • LANG  :l'encodage de langue utilisé sur le système ;
  • DESKTOP_SESSION :le bureau actuellement utilisé sur votre hôte (GNOME, KDE)
  • HISTFILESIZE :nombre de lignes de l'historique des commandes stockées dans le fichier historique ;
  • HISTSIZE :nombre de lignes d'historique autorisées en mémoire ;
  • UID :l'UID actuel de l'utilisateur

Définir la variable d'environnement PATH sous Linux

Sur les systèmes Linux, il est très courant de définir la variable d'environnement PATH afin que le système puisse localiser les commandes.

Pour afficher votre variable d'environnement PATH actuelle, exécutez la commande printenv

$ printenv PATH

/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

Pour définir la variable d'environnement PATH, ajoutez une ligne d'exportation à votre fichier .bashrc et sourcez-le.

$ echo "export PATH="<path>:$PATH"" >> ~/.bashrc && source ~/.bashrc

$ printenv PATH
<path>:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

Vous avez mis à jour avec succès votre variable d'environnement PATH sous Linux.

Conclusion

Dans le tutoriel d'aujourd'hui, vous avez appris que vous pouvez définir des variables d'environnement sous Linux de plusieurs manières :avec la commande d'exportation mais aussi en modifiant certains fichiers système pour les rendre persistants.

Vous avez également appris qu'il est possible de désactiver les variables d'environnement et comment mettre à jour facilement votre variable d'environnement PATH.

Si vous êtes intéressé par l'administration système Linux , nous avons plein de tutoriels sur le sujet dans notre catégorie dédiée.


Linux
  1. Comment définir et supprimer des variables d'environnement locales, utilisateur et système sous Linux

  2. Comment définir/créer des variables d'environnement et de shell sous Linux

  3. Comment définir, répertorier et supprimer des variables d'environnement sous Linux

  4. Exemples de commandes d'exportation Linux (Comment définir des variables d'environnement)

  5. Variables d'environnement utilisateur avec "su" et "sudo" sous Linux

Comment définir et répertorier les variables d'environnement sous Linux

Comment installer et configurer le navigateur Tor sous Linux

Comment définir et répertorier les variables d'environnement sous Linux

Comment définir/annuler les variables d'environnement sous Linux

Comment définir la date et l'heure sous Linux

Variables d'environnement Linux