GNU/Linux >> Tutoriels Linux >  >> Linux

Définir une variable avec ou sans export

Pour illustrer ce que disent les autres réponses :

$ foo="Hello, World"
$ echo $foo
Hello, World
$ bar="Goodbye"
$ export foo
$ bash
bash-3.2$ echo $foo
Hello, World
bash-3.2$ echo $bar

bash-3.2$ 

export rend la variable disponible aux sous-processus.

C'est-à-dire

export name=value

signifie que le nom de la variable est disponible pour n'importe quel processus vous exécutez à partir de ce processus shell. Si vous voulez qu'un processus utilise cette variable, utilisez export , et exécutez le processus à partir de ce shell.

name=value

signifie que la portée de la variable est limitée au shell et n'est disponible pour aucun autre processus. Vous l'utiliseriez pour (par exemple) les variables de boucle, les variables temporaires, etc.

Il est important de noter que l'exportation d'une variable ne la rend pas disponible pour les processus parents. Autrement dit, spécifier et exporter une variable dans un processus généré ne la rend pas disponible dans le processus qui l'a lancée.


Linux
  1. Exécuter le processus avec une sortie en temps réel en PHP

  2. Comment utiliser l'exportation avec Python sous Linux

  3. Exécuter la commande sans la conserver dans l'historique

  4. Comment exporter définitivement une variable sous Linux ?

  5. délai d'attente sans tuer le processus dans bash

La commande Wait sous Linux expliquée avec des exemples

Commande d'exportation Linux avec exemples

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

Désencombrer la gestion des processus avec ps ou systemd

Exporter des bases de données avec cPanel

Explication de la commande d'exportation sous Linux