web-dev-qa-db-fra.com

Commande d'exportation UNIX

J'essaie de comprendre l'utilisation de la commande export.

J'ai essayé d'utiliser man export, mais il n'y a pas de manuel pour cette commande.

Quelqu'un peut-il m'aider à comprendre l'utilisation de export sous UNIX?

151
Jake

Lorsque vous exécutez un programme, le programme enfant hérite de ses variables d'environnement du parent. Par exemple, si $HOME est défini sur /root dans le parent, la variable $HOME de l'enfant est également définie sur /root.

Ceci ne s'applique qu'aux variables d'environnement marquées pour l'exportation. Si vous définissez une variable à la ligne de commande, comme

$ FOO="bar"

Cette variable ne sera pas visible dans les processus enfants. Non, sauf si vous exportez:

$ export FOO

Vous pouvez combiner ces deux déclarations en une seule en bash (mais pas en 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 -c cré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 de Shell, utilisez help export. Les commandes intégrées au shell sont des commandes qui font partie de votre shell et non des exécutables indépendants tels que /bin/ls.

217
John Kugelman

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 les variables d'environnement et sont souvent incorporés directement dans le shell. printenv peut également être utilisé pour imprimer une seule variable en donnant le nom de cette variable comme unique 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 oeil à this à

15
user931841

export est une commande intégrée de bash Shell et d'autres variantes de Bourne Shell . Il est utilisé pour marquer une variable Shell à exporter vers des processus enfants.

4
David J. Liszewski

export est utilisé pour définir les variables d'environnement. Par exemple:

export EDITOR=pico

Définira votre éditeur de texte par défaut sur la commande pico.

0
Icarus