Différence entre la définition de variables Bash avec et sans exportation
J'ai ajouté cette ligne "export HISTCONTROL=ignoredups" dans le fichier ~/.bashrc pour éviter les entrées en double dans l'historique Bash sur mon bureau Linux . Avez-vous remarqué que j'ai préfixé la variable HISTCONTROL avec "export" ? Savez-vous - à quoi sert l'option "export" ? Si vous vous demandez quelle est la différence entre définir des variables bash avec et sans option d'exportation, lisez la suite !
Différence entre la définition de variables Bash avec et sans exportation
Nous définissons une variable avec export pour la rendre disponible à tous les sous-processus (ou processus enfants). Signification - si vous définissez une variable avec export comme ci-dessous,
export variable_name=valueLa variable est disponible pour tout sous-processus que vous exécutez à partir de ce processus shell.
Si vous définissez une variable sans export comme ci-dessous,
variable_name=valueLa variable est limitée au shell et elle n'est disponible pour aucun autre sous-processus. Vous pouvez l'utiliser pour des variables temporaires et/ou en boucle.
Permettez-moi de vous montrer un exemple pour que vous puissiez mieux le comprendre.
Permettez-moi de définir une variable nommée "ostechnix" sans "export" comme ci-dessous :
ostechnix="Welcome to ostechnix.com blog!"Affichez maintenant la valeur à l'aide de la commande "echo":
echo $ostechnixIl affichera la valeur de la variable ostechnix :
Welcome to ostechnix.com blog!Maintenant, démarrez une nouvelle session shell Bash en exécutant la commande suivante :
bashEnsuite, essayez d'afficher la valeur de la variable ostechnix en utilisant la commande echo :
echo $ostechnixDéfinir la variable bash sans exportation
Voir? Cela ne renvoie rien ! Vous ne voyez qu’une sortie vide. Il est donc prouvé que lorsque nous définissons une variable sans export, elle ne sera pas disponible pour les processus enfants.
Définissons à nouveau la même variable avec l'option export :
export ostechnix="Welcome to ostechnix.com blog!"
Afficher la valeur de la variable :
echo $ostechnixExemple de résultat :
Welcome to ostechnix.com blog!Démarrez une nouvelle session shell :
bashEssayez à nouveau d'afficher la valeur de la variable :
echo $ostechnixIl renverra maintenant la valeur.
Différence entre la définition de variables Bash avec et sans exportation
Par conséquent, l'exportation rend la variable disponible à tous les autres processus enfants dans cet environnement shell.

