Les variables d'environnement sont un type de variables définies dans le shell et requises lors de l'exécution du programme. Ils sont souvent utilisés dans les programmes shell pour effectuer diverses opérations.
La portée de toute variable fait référence à la zone dans laquelle elle peut être consultée ou définie. Sous Linux, la portée d'une variable d'environnement peut être globale/à l'échelle du système ou locale. Voici quelques exemples courants de variables d'environnement sous Linux :
- PWD - affiche le chemin du répertoire de travail actuel
- HOME - donne le chemin du répertoire personnel
- HOSTNAME - imprime le nom de l'hôte
- EDITOR - affiche l'éditeur de fichier par défaut
Dans ce guide, nous apprendrons comment définir et supprimer des variables d'environnement sous Linux.
Définir les variables d'environnement à l'aide de la commande d'exportation
Un moyen simple de définir des variables d'environnement consiste à utiliser la commande export. Nous devons donner à la variable un nom qui sera utilisé pour y accéder dans le shell et une valeur pour contenir les données
Syntaxe :
$ export NAME = VALUE
Par exemple, définissez votre nom de variable
$ export VAR ="value"
Lors de l'utilisation de la commande d'exportation, la variable d'environnement sera définie uniquement pour la session shell actuelle. Par conséquent, la variable d'environnement ne sera plus accessible si vous ouvrez un nouveau terminal ou redémarrez votre système.
Pour sortir la valeur de votre variable d'environnement sur le shell, vous pouvez utiliser l'une des commandes affichées ;
$ printenv variable
$ echo $variable
Remarque :Lorsque vous utilisez la commande echo, le nom de la variable doit être précédé du signe dollar.
Définir des variables d'environnement à l'échelle de l'utilisateur sous Linux
Ce sont les variables qui ont été définies pour un utilisateur spécifique et qui sont exécutées chaque fois que cet utilisateur se connecte via une session de connexion locale ou distante. Ils sont définis et chargés à partir des fichiers de configuration suivants dans le répertoire personnel de l'utilisateur :bashrc, .bash profile, .bash login, et .profil.
Utiliser le fichier .bashrc
Le .bashrc file est un script qui est chargé chaque fois qu'un utilisateur ouvre une nouvelle session de terminal. Les variables d'environnement de ce fichier sont exécutées chaque fois qu'une nouvelle session est démarrée.
Par exemple, ajoutez une variable NEW_VAR à votre fichier .bashrc comme indiqué :
$ sudo vi .bashrc
$ export NEW_VAR =”Linux”
Enregistrez votre fichier et rechargez le fichier .bashrc avec la commande source suivante pour que les modifications soient appliquées :
$ source ~/.bashrc
Imprimez la nouvelle variable :
$ echo $NEW_VAR
La variable est maintenant persistante lorsque vous ouvrez de nouvelles sessions ou redémarrez votre système
Utiliser .bash_profile
Pour ajouter des variables d'environnement qui seront disponibles pour les sessions de connexion à distance, modifiez le fichier .bash_profile.
$ sudo vi .bash_profile
$ export $VAR1 ="Linux"
Ensuite, rechargez le fichier .bashrc avec la commande source suivante pour que les modifications prennent effet.
$ source ~/.bash_profile
Imprimez la nouvelle variable :
$ echo $VAR1
Définir des variables d'environnement à l'échelle du système sous Linux
Ce sont des variables d'environnement à l'échelle du système, ce qui signifie qu'elles sont disponibles pour tous les utilisateurs du système. Ces variables se trouvent dans les répertoires et fichiers suivants qui incluent les fichiers de configuration à l'échelle du système :/etc/environment, /etc/profile, /etc/profile.d/, /etc/bash.bashrc, /etc/profile.d /, /etc/profile.d/, /etc/profile.d/, /etc/profile.d/, /etc/profile
Utilisation du fichier /etc/bash.bashrc
Ajoutez une variable d'environnement à l'échelle du système à /etc/bash.bashrc dossier. Il sera disponible pour les utilisateurs lorsque l'un d'entre eux démarrera un nouveau terminal mais ne sera pas accessible à distance.
$ export VAR1='Linux'
Maintenant, rechargez le fichier /etc/bash.bashrc pour que les modifications prennent effet.
$ source /etc/bash.bashrc
À partir de la sortie ci-dessus, la variable est accessible à la fois par l'utilisateur normal et par root.
Utilisation du fichier /etc/profile
Pour ajouter une variable d'environnement qui sera disponible lorsque l'un des utilisateurs de votre système y accède à distance, modifiez le ‘/etc/profile’ dossier. Après avoir ajouté la variable, rechargez le fichier.
$ sudo vi /etc/profile
$ export VAR='Linux'
$ source /etc/profile
$ echo $VAR
Dans l'exemple ci-dessus, la variable est disponible pour un nouvel utilisateur qui s'est connecté à distance
Utilisation du fichier /etc/environment
Pour ajouter une variable d'environnement qui sera disponible pour tous les utilisateurs sur les sessions de connexion locales et distantes, ajoutez la variable dans /etc/environment fichier.
$ sudo vi /etc/environment
$ export MY_VAR='Linux'
$ source /etc/environment
$ echo $MY_VAR
Désactiver les variables d'environnement sous Linux
Maintenant que vous avez appris à définir des variables d'environnement sur votre système, vous devrez peut-être les supprimer si vous n'en avez plus besoin.
Pour désactiver les variables d'environnement sous Linux, utilisez la commande unset ou supprimez les entrées de variables de vos fichiers de configuration système.
Utilisez la syntaxe suivante pour annuler la définition d'une variable d'environnement sous Linux :
$ unset <variable>
Par exemple, annulez la définition de l'une des variables ci-dessus :
$ unset NEW_VAR
Pour vérifier cela, imprimez la variable :
Rien ne s'affiche dans le terminal.
Remarque :Les variables d'environnement définies dans les fichiers de configuration à l'échelle du système ou de l'utilisateur peuvent être effacées uniquement en les supprimant de ces fichiers. Après cela, rechargez le fichier avec la commande source pour que les modifications prennent effet.
$ source <file-name>
Conclusion
Vous avez vu comment activer et désactiver les variables d'environnement locales et persistantes sous Linux.