GNU/Linux >> Tutoriels Linux >  >> Linux

Explication de la commande d'exportation sous Linux

La commande export sous Linux est utilisée pour créer des variables d'environnement. Vous pouvez l'utiliser comme ceci :

export myvar

ou un raccourci comme celui-ci pour lui attribuer une valeur immédiatement :

export myvar=5

Vous pouvez voir la valeur des variables exportées avec la commande echo :

echo $myvar

Pour rendre les modifications permanentes, vous devez l'ajouter au fichier ~/.bashrc.

Ce n'était qu'un bref résumé. Voyons-le en détail pour mieux le comprendre.

Comprendre le fonctionnement de la commande d'exportation

Dans l'exemple ci-dessous, je déclare une variable shell var et lui attribue la valeur 3. C'est une variable shell pour l'instant.

[email protected]:~$ var=3
[email protected]:~$ echo $var
3

Si je quitte le terminal et que j'ouvre un nouveau terminal, cette variable shell disparaîtra. Si je veux utiliser cette variable dans un script shell, cela ne fonctionnera pas. De même, si je change d'utilisateur (et donc initie un nouveau shell avec cet utilisateur), cette variable shell ne sera pas disponible :

[email protected]:~$ su prakash
Password: 
[email protected]:/home/abhishek$ echo $var

Maintenant, revenons à l'utilisateur précédent (et donc au shell précédent où j'ai déclaré la variable shell). Vous pouvez voir que la variable existe toujours ici (car nous n'avons pas encore terminé cette session shell) :

[email protected]:/home/abhishek$ exit
exit
[email protected]:~$ echo $var
3

Donc, maintenant, si j'utilise la commande export sur la variable var ici, elle deviendra une variable d'environnement et elle sera disponible pour tous les sous-shells, utilisateurs et scripts shell de cette session.

[email protected]:~$ export var
[email protected]:~$ echo $var
3
[email protected]:~$ su prakash
Password: 
[email protected]:/home/abhishek$ echo $var
3

Vous pouvez vérifier toutes les variables d'environnement à l'aide de la commande printenv :

printenv

Rendre les variables shell exportées "permanentes" avec le fichier bashrc

Mais la lutte ne s'arrête pas là. Si vous fermez la session, quittez le terminal, déconnectez-vous ou redémarrez votre système, votre variable d'environnement disparaîtra à nouveau.

C'est pourquoi il est courant d'ajouter les commandes d'exportation au fichier de configuration d'exécution (rc) de votre shell.

Chaque shell a ce fichier rc situé dans le répertoire personnel de l'utilisateur qui est utilisé pour déterminer les variables et autres configurations au démarrage du shell. En tant qu'utilisateur, vous pouvez utiliser ce fichier rc pour personnaliser votre shell et son comportement.

Si vous utilisez bash shell, vous devriez avoir un fichier bashrc à ~/.bashrc . Vous pouvez soit modifier ce fichier dans un éditeur de texte comme Vim, soit simplement ajouter export var=3 (ou tout ce que vous exportez) dans ce fichier.

Une fois cela fait, vous devez utiliser la commande source pour rendre les modifications disponibles immédiatement.

Une bonne pratique consiste à conserver toutes les variables d'environnement définies par l'utilisateur au même endroit.

Pourquoi utiliser la commande d'exportation ?

L'une des utilisations les plus courantes de la commande d'exportation est lorsque vous souhaitez ajouter quelque chose au chemin afin que votre système Linux trouve le certain fichier de commande/exécutable.

Par exemple, si vous avez installé maven et que vous souhaitez pouvoir l'exécuter, vous devez ajouter l'emplacement du répertoire des exécutables maven au chemin comme ceci :

export PATH=/opt/maven/bin:$PATH

Qu'est ce que ça fait? Il ajoute cet emplacement de répertoire au chemin. Lorsque vous essayez d'exécuter une commande sous Linux, votre système recherche son exécutable (généralement dans le répertoire bin) dans les répertoires mentionnés dans la variable PATH.

[email protected]:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
[email protected]:~$ export PATH=/opt/maven/bin:$PATH
[email protected]:~$ echo $PATH
/opt/maven/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Je recommande fortement de lire sur la structure des répertoires Linux pour avoir une meilleure idée.

Astuce bonus :supprimer une variable de la liste exportée

Supposons que vous souhaitiez supprimer une variable "exportée". Vous pouvez utiliser l'option de négation de cette manière :

export -n myvar

Gardez à l'esprit que cela ne réinitialisera pas la valeur de la variable. Cela transformera simplement la variable globale exportée en une variable locale. Il continuera d'avoir la même valeur que vous aviez définie précédemment.

Si vous souhaitez supprimer la variable de la liste exportée ainsi que sa valeur assignée, utilisez l'option unset :

unset myvar

J'espère que vous avez maintenant une meilleure idée de la commande d'exportation sous Linux. Si vous avez des doutes, n'hésitez pas à demander dans la section des commentaires.


Linux
  1. La commande d'historique sous Linux expliquée en profondeur

  2. Commande ls sous Linux :17 exemples utiles expliqués

  3. Commande d'exportation Linux

  4. Exemples de commandes d'exportation Linux (Comment définir des variables d'environnement)

  5. Exemples de commandes chsh sous Linux

Commande source sur Linux expliquée

Commande d'écran sur Linux expliquée

Explication de la commande Arping sur Linux

Qu'est-ce que le sous-shell sous Linux ?

Commande d'exportation sous Linux | Expliqué

Commande d'exportation sous Linux