J'essaie de comprendre l'utilisation de la exportcommande.
J'ai essayé d'utiliser man export, mais il n'y a pas de manuel pour cette commande.
Quelqu'un peut-il s'il vous plaît m'aider à comprendre l'utilisation de exportsous UNIX?
J'essaie de comprendre l'utilisation de la exportcommande.
J'ai essayé d'utiliser man export, mais il n'y a pas de manuel pour cette commande.
Quelqu'un peut-il s'il vous plaît m'aider à comprendre l'utilisation de exportsous UNIX?
Réponses:
Lorsque vous exécutez un programme, le programme enfant hérite de ses variables d'environnement du parent. Par exemple, si $HOMEest défini sur /rootdans le parent, la $HOMEvariable de l'enfant est également définie sur /root.
Cela s'applique uniquement aux variables d'environnement marquées pour l'exportation. Si vous définissez une variable sur la ligne de commande comme
$ FOO="bar"
Cette variable ne sera pas visible dans les processus enfants. Sauf si vous l'exportez:
$ export FOO
Vous pouvez combiner ces deux déclarations en une seule dans bash (mais pas dans sh old-school):
$ export FOO="bar"
Voici un exemple rapide montrant la différence entre les variables exportées et non exportées. Pour comprendre ce qui se passe, sachez que sh -ccrée un processus shell enfant qui hérite de l'environnement du shell parent.
$ FOO=bar
$ sh -c 'echo $FOO'
$ export FOO
$ sh -c 'echo $FOO'
bar
Remarque: pour obtenir de l'aide sur les commandes intégrées du shell, utilisez help export. Les fonctions intégrées du shell sont des commandes qui font partie de votre shell plutôt que des exécutables indépendants comme /bin/ls.
Unix
Les commandes env, set et printenv affichent toutes les variables d'environnement et leurs valeurs. env et set sont également utilisés pour définir des variables d'environnement et sont souvent incorporés directement dans le shell. printenv peut également être utilisé pour imprimer une seule variable en donnant ce nom de variable comme seul argument de la commande.
Sous Unix, les commandes suivantes peuvent également être utilisées, mais dépendent souvent d'un certain shell.
export VARIABLE=value  # for Bourne, bash, and related shells
setenv VARIABLE value  # for csh and related shells
Vous pouvez jeter un œil à ceci sur
VARIABLE=value; export VARIABLEplutôt que d'assigner et d'exporter à la fois. La setcommande dans C Shell est pour les variables shell plutôt que pour les variables d'environnement; setenvest la contrepartie de export. La setcommande dans les shells dérivés de Bourne imprime toutes les variables, pas seulement les variables exportées (d'environnement). Historiquement du moins, la envcommande est distincte du shell (pas un élément intégré), bien qu'elle puisse facilement être transformée en un élément intégré. Il définit l'environnement pour une commande spécifique, pas le shell qui l'exécute.
                    exportest une commande intégrée du bashshell et d'autres variantes du shell Bourne . Il est utilisé pour marquer une variable shell pour l'exportation vers les processus enfants.