Commandes Linux: export

Un guide rapide de laexportcommande, utilisée pour exporter des variables vers des processus enfants

LeexportLa commande est utilisée pour exporter des variables vers des processus enfants.

Qu'est-ce que ça veut dire?

Supposons que vous ayez une variable TEST définie de cette manière:

TEST="test"

Vous pouvez imprimer sa valeur en utilisantecho $TEST:

Mais si vous essayez de définir un script Bash dans un fichierscript.shavec la commande ci-dessus:

Ensuite, vous définissezchmod u+x script.shet vous exécutez ce script avec./script.sh, leecho $TESTla ligne n'imprimera rien!

C'est parce que dans Bash leTESTLa variable a été définie localement au shell. Lors de l'exécution d'un script shell ou d'une autre commande, un sous-shell est lancé pour l'exécuter, qui ne contient pas les variables locales actuelles du shell.

Pour rendre la variable disponible, nous devons définirTESTpas de cette façon:

TEST="test"

mais de cette manière:

export TEST="test"

Essayez ça et courez./script.shmaintenant devrait imprimer «test»:

Parfois, vous devez ajouter quelque chose à une variable. C'est souvent fait avec lePATHvariable. Vous utilisez cette syntaxe:

export PATH=$PATH:/new/path

Il est courant d'utiliserexportlorsque vous créez de nouvelles variables de cette manière, mais aussi lorsque vous créez des variables dans le.bash_profileou.bashrcfichiers de configuration avec Bash, ou dans.zshenvavec Zsh.

Pour supprimer une variable, utilisez le-noption:

export -n TEST

Appelexportsans aucune option listera toutes les variables exportées.

LeexportLa commande fonctionne sur Linux, macOS, WSL et partout où vous avez un environnement UNIX

Téléchargez mon gratuitManuel des commandes Linux


Plus de tutoriels cli: