Menu
Coddy logo textTech

Exporter une variable

Fait partie de la section Les fondamentaux du Journey Terminal de Coddy — leçon 63 sur 82.

Quand vous définissez une variable comme MY_NAME="Alice", elle n'existe que dans votre shell actuel. Si vous exécutez un script ou lancez un autre programme, cette variable ne sera pas disponible pour celui-ci. C'est là que export entre en jeu.

La commande export rend une variable disponible pour tous les processus enfants, ce qui signifie que les programmes ou scripts lancés depuis votre shell actuel peuvent y accéder :

export MY_NAME="Alice"

Vous pouvez également exporter une variable existante :

MY_NAME="Alice"
export MY_NAME

Les deux approches obtiennent le même résultat. La variable devient partie de l'environnement qui est passé à toute commande que vous exécutez par la suite.

Pour voir la différence, envisagez d'exécuter un script qui tente d'utiliser $MY_NAME.

Sans export, le script ne voit rien. Avec export, le script peut accéder à la valeur.

C'est pourquoi les variables système comme PATH et HOME sont exportées par défaut. Elles doivent être disponibles pour chaque programme que vous exécutez.

Vous pouvez vérifier qu'une variable est exportée en vérifiant si elle apparaît dans la sortie de env :

env | grep MY_NAME

Les variables exportées disparaissent toujours lorsque vous fermez le terminal. La leçon suivante explique comment faire persister les variables entre les sessions.

challenge icon

Défi

Facile

Exportez une variable appelée PROJECT avec la valeur terminal-course, puis vérifiez qu'elle a été exportée en filtrant la sortie de env pour ne montrer que votre nouvelle variable.

Vous pouvez faire cela en une seule ligne en utilisant export pour définir et exporter la variable en même temps, puis en canalisant env à travers grep pour la trouver.

Votre sortie devrait être :

PROJECT=terminal-course

Indice : Exécutez d'abord export PROJECT="terminal-course", puis utilisez env | grep PROJECT pour vérifier qu'elle apparaît dans l'environnement.

Aide-mémoire

La commande export rend une variable disponible aux processus enfants (programmes ou scripts lancés depuis votre shell actuel) :

export MY_NAME="Alice"

Vous pouvez également exporter une variable existante :

MY_NAME="Alice"
export MY_NAME

Sans export, les variables n'existent que dans le shell actuel et ne sont pas accessibles aux scripts ou programmes que vous exécutez.

Pour vérifier qu'une variable est exportée, vérifiez si elle apparaît dans la sortie de env :

env | grep MY_NAME

Les variables exportées disparaissent lorsque vous fermez le terminal.

Essayez vous-même

Terminal
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Les fondamentaux