GNU/Linux >> Tutoriels Linux >  >> Linux

Différence entre la définition de variables bash avec et sans exportation

J'ai ajouté ceci "export HISTCONTROL=ignoredups" ligne dans ~/.bashrc fichier pour éviter les doublons dans l'historique de Bash sur mon bureau Linux. Avez-vous remarqué que j'ai préfixé le HISTCONTROL variable avec "export" ? Savez-vous - qu'est-ce que "export" possibilité pour ? Si vous vous demandez quelle est la différence entre la définition de 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 le rendre disponible à tous les sous-processus (ou processus enfants). Signification - si vous définissez une variable avec export comme ci-dessous,

export variable_name=value

La variable est disponible pour n'importe quel sous-processus vous exécutez à partir de ce processus shell.

Si vous définissez une variable sans export comme ci-dessous,

variable_name=value

La variable est limitée au shell et n'est disponible pour aucun autre sous-processus. Vous pouvez l'utiliser pour des variables temporaires et/ou de boucle.

Permettez-moi de vous montrer un exemple, afin 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 $ostechnix

Il 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 :

$ bash

Ensuite, essayez d'afficher la valeur de la variable ostechnix en utilisant echo commande :

$ echo $ostechnix

Voir? ça ne retourne rien ! Vous ne voyez que la sortie vide. Il est donc prouvé que lorsque nous définissons une variable sans export , il ne sera pas disponible pour les processus enfants.

Définissons à nouveau la même variable avec export choix :

$ export ostechnix="Welcome to ostechnix.com blog!"

Afficher la valeur de la variable :

$ echo $ostechnix

Exemple de résultat :

Welcome to ostechnix.com blog!

Démarrer une nouvelle session shell :

$ bash

Essayez à nouveau d'afficher la valeur de la variable :

$ echo $ostechnix

Il renverra maintenant la valeur.

Par conséquent, l'exportation rend la variable disponible pour tous les autres processus enfants dans cet environnement shell.


Linux
  1. Importer des fonctions et des variables dans Bash avec la commande source

  2. La Différence Entre [[ $a ==Z* ]] Et [ $a ==Z* ] ?

  3. Différence entre les variables Shell qui sont exportées et celles qui ne sont pas dans Bash ?

  4. Définir une variable avec ou sans export

  5. Alias ​​avec variable dans bash

Variable d'exportation bash

Bash Scripting - Variables expliquées avec des exemples

Tutoriel sur les variables Bash - 6 exemples pratiques de variables globales et locales Bash

Quelle est la différence entre &> et >&en bash ?

Différence entre les commandes dans le script bash et les commandes dans le terminal

Quelle est la différence entre $(CC) et $CC ?