En tant qu'administrateur système, vous savez probablement à quel point les variables d'environnement sont importantes dans Bash .
Les variables d'environnement sont utilisées pour définir les variables qui auront un impact sur le fonctionnement des programmes.
Dans Bash, variables d'environnement définir de nombreuses choses différentes :votre éditeur par défaut, votre nom d'utilisateur actuel ou le fuseau horaire actuel.
Plus important encore, les variables d'environnement peuvent être utilisées dans les scripts Bash afin de modifier le comportement de vos scripts.
Dans ce tutoriel, nous allons voir comment vous pouvez facilement définir des variables d'environnement dans Bash .
Définir les variables d'environnement dans Bash
Le moyen le plus simple de définir des variables d'environnement dans Bash consiste à utiliser le mot-clé "export" suivi du nom de la variable, d'un signe égal et de la valeur à attribuer à la variable d'environnement.
Par exemple, pour attribuer la valeur "abc » à la variable « VAR ", vous écririez la commande suivante
$ export VAR=abc
Si vous voulez avoir des espaces dans votre valeur, comme "ma valeur ” ou “Linus Torvalds ", vous devrez mettre votre valeur entre guillemets doubles.
$ export VAR="my value"
$ export VAR="Linus Torvalds"
Pour afficher votre variable d'environnement, vous devez faire précéder la variable d'un signe dollar.
$ echo $VAR
Linus Torvalds
De même, vous pouvez utiliser le "printenv ” afin d'imprimer la valeur de votre variable d'environnement.
Cette fois, vous n'avez pas à le faire précéder d'un signe dollar.
$ printenv VAR
Linus Torvalds
Définir des variables à l'aide de l'interpolation Bash
Dans certains cas, vous devrez peut-être définir une variable d'environnement spécifique sur le résultat d'une commande sur votre serveur.
Pour ce faire, vous aurez besoin d'une interpolation Bash, également appelée substitution de paramètres .
Disons par exemple que vous souhaitez stocker la valeur de votre instance de shell actuelle dans une variable nommée MYSHELL.
Pour définir une variable d'environnement à l'aide de la substitution de paramètres, utilisez le mot-clé "export" et placez la commande entre parenthèses fermantes précédée d'un signe dollar.
$ export VAR=$(<bash command>)
Par exemple, étant donné notre exemple précédent, si vous voulez avoir la variable d'environnement "SHELL" dans une nouvelle variable nommée "MYSHELL", vous écririez
$ export MYSHELL=$(echo $SHELL)
Félicitations, vous avez réussi à créer votre première variable d'environnement dans Bash !
Définition de variables d'environnement permanentes dans Bash
Lorsque vous affectez une valeur à une variable à l'aide de "exporter" dans un shell, les modifications ne sont pas conservées lors des redémarrages ou sur d'autres shells.
Afin de définir une variable d'environnement permanente dans Bash, vous devez utiliser la commande d'exportation et l'ajouter soit à votre fichier ".bashrc" (si cette variable est uniquement pour vous), soit au fichier /etc/environment si vous voulez que tous les utilisateurs aient cette variable d'environnement.
$ nano /home/user/.bashrc
# Content of the .bashrc file
export VAR="My permanent variable"
Pour que les modifications soient appliquées à votre session en cours, vous devrez sourcer votre fichier .bashrc.
$ source .bashrc
Maintenant, vous pouvez vérifier la valeur de votre variable d'environnement dans chaque shell que vous voulez.
$ printenv VAR
Cette variable sera créée sur chaque instance de shell pour l'utilisateur actuel.
Cependant, si vous l'ajoutez au "/etc/environment ", la variable d'environnement sera définie pour tous les utilisateurs de votre système.
$ nano /etc/environment
# Content of the environment file
export GLOBAL="This is a global variable"
Après avoir recherché le fichier, les variables d'environnement seront définies pour chaque utilisateur de votre hôte.
$ source /etc/environment
$ echo $GLOBAL
Génial, vous avez réussi à définir une variable d'environnement globale sur votre serveur !
Conclusion
Dans ce tutoriel, vous avez appris comment vous pouvez facilement définir des variables d'environnement dans Bash en utilisant la commande d'exportation.
Vous avez également appris que les modifications ne deviennent permanentes que lorsque vous les ajoutez à votre :
- .bashrc :si vous voulez que la variable soit uniquement pour l'utilisateur actuellement connecté ;
- /etc/environnement :si vous souhaitez que la variable soit partagée par tous les utilisateurs du système.
Si vous êtes intéressé par l'administration système Linux , ou dans Bash, nous avons une section complète qui lui est consacrée sur le site Web, alors assurez-vous de la consulter !