Introduction

Introduction

Le exporter La commande est l'une des commandes Bash Shell Biedines, ce qui signifie qu'elle fait partie de votre coquille. Le exporter La commande est assez simple à utiliser car il a une syntaxe simple avec seulement trois options de commande disponibles. En général, le exporter La commande marque une variable d'environnement à exporter avec tout processus d'enfant nouvellement fourchu et permet donc à un processus d'enfant d'hériter de toutes les variables marquées. Si vous ne savez pas ce que cela signifie lire, car cet article expliquera ce processus plus en détail.

Options fréquemment utilisées

  • -p
    Liste de tous les noms exportés dans le shell actuel
  • -n
    Supprimer les noms de la liste d'exportation
  • -F
    Les noms sont exportés en fonction

Exportation de bases

Pensez à l'exemple suivant:

$ a = linuxcareer.com
$ echo $ a
linuxcareer.com
$ bash
$ echo $ a
$
  • Ligne 1: Une nouvelle variable appelée «A» est créée pour contenir une chaîne «LinuxCareer.com »
  • Ligne 2: Nous utilisons la commande Echo pour imprimer un contenu de la variable «A»
  • Ligne 3: Nous avons créé une nouvelle coquille d'enfant Bash
  • Ligne 4: la variable «A» n'a plus de valeurs définies

À partir de ce qui précède, nous pouvons voir que tout nouveau processus enfant transporté par défaut d'un processus parent n'hérite pas des variables des parents. C'est là que le exporter La commande est utile. Ce qui suit est une nouvelle version de l'exemple ci-dessus en utilisant le exporter commande:

$ a = linuxcareer.com
$ echo $ a
linuxcareer.com
$ Exporter un
$ bash
$ echo $ a
linuxcareer.com
$

Sur la ligne 3, nous avons maintenant utilisé le exporter Commande pour que la variable «A» soit exportée lorsqu'un nouveau processus d'enfant est créé. En conséquence, la variable «A» contient toujours la chaîne «LinuxCareer.com »même après la création d'un nouveau coquille de bash. Il est important de noter que, afin d'exporter la variable «A» à être disponible dans le nouveau processus, le processus doit être fourchu à partir du processus parent où la variable réelle a été exportée. La relation entre l'enfant et le processus parent est expliquée ci-dessous.



Processus enfant vs parent

Dans cette section, nous expliquons brièvement la relation entre l'enfant et le processus parent. Tout processus peut être un processus parent et enfant en même temps. La seule exception est le init processus, qui est toujours marqué de PID (ID de processus) 1. Donc, init est un parent de tous les processus exécutés sur votre système Linux.

$ ps -p 1
Pid tty time cmd
1 ? 00:00:02 Init

Tout processus créé aura normalement un processus parent à partir duquel il a été créé et sera considéré comme un enfant de ce processus parent. Par exemple:

$ echo $$
27861
$ bash
$ echo $$
28034
$ ps --ppid 27861
Pid tty time cmd
28034 pts / 3 00:00:00 bash
  • Ligne 1: Imprimez un PID pour un shell actuel - 27861
  • Ligne 2: Créez un nouveau processus enfant à partir de l'ID de processus 27861
  • Ligne 3: Imprimez un PID pour un shell actuel - 28034
  • Ligne 4: avec l'utilisation du ps Commande Imprime le processus enfant de PID 27861

Lors de la création d'un nouveau processus d'enfant exporter La commande garantit simplement que toutes les variables exportées dans le processus parent sont disponibles dans le processus de l'enfant.

Utilisation de la commande Export

Maintenant que nous avons appris certaines bases, nous pouvons continuer à explorer le exporter Commande plus en détail. Lorsque vous utilisez le exporter Commande sans aucune option et arguments, il imprimera simplement tous les noms marqués pour une exportation vers un processus d'enfant. C'est la même chose lors de l'utilisation de l'option -p:

$ Exportation
Declare -x Colorfgbg = "15; 0"
Declare -x defaultS_Path = "/ usr / share / gconf / cannamon.défaut.chemin"
Declare -x Desktop_Session = "Cinnamon"
Declare -x display = ": 0"…

Comme indiqué précédemment, pour exporter une variable, nous utilisons simplement le nom de la variable comme argument vers une commande d'exportation.

$ Myvar = 10
$ Export | grep myvar
$ export myvar
$ Export | grep myvar
Declare -x myvar = "10"

Comme vous pouvez le voir, une fois la variable MyVar exportée, elle apparaîtra dans la liste des variables exportées (ligne 4). L'exemple ci-dessus peut être raccourci en utilisant le exporter commande directement avec une évaluation variable.

$ export myvar = 10
$ Export | grep myvar
Declare -x myvar = "10"

L'utilisation la plus courante du exporter La commande est lors de la définition de la variable du shell de chemin:

Export Path = $ path: / usr / local / bin

Dans l'exemple ci-dessus, nous avons inclus un chemin / USR / local / bin supplémentaire à la définition de chemin existante.



Exportation d'une fonction de shell

Avec l'option -f le exporter La commande peut également être utilisée pour exporter des fonctions. Dans l'exemple ci-dessous, nous créerons une nouvelle fonction bash appelée imprimer, qui utilisera simplement le écho Commande pour imprimer la chaîne «LinuxCareer.com ».

$ printName () echo "LinuxCareer.com ";
$ printname
Linuxcareer.com
$ export -f printName
$ bash
$ printname
Linuxcareer.com

Suppression des noms de la liste d'exportation

Suivant l'exemple ci-dessus, nous avons maintenant la variable myvar définie dans notre liste d'exportation.

$ Export | grep myvar
Declare -x myvar = "10"

Pour supprimer cette variable de la liste d'exportation, nous devons utiliser l'option d'exportation -N.

$ Export | grep myvar
Declare -x myvar = "10"
$ export -n myvar
$ Export | grep myvar
$

Conclusion

Cet article couvrait l'utilisation de base du exporter commande. Pour plus d'informations, exécutez la commande:

$ export

Tutoriels Linux connexes:

  • Comment propager un signal aux processus d'enfants à partir d'un bash…
  • Commandes Linux: les 20 meilleures commandes les plus importantes que vous devez…
  • Commandes Linux de base
  • Comment utiliser la commande ps dans Linux: Guide des débutants
  • Variables de bash spéciaux avec des exemples
  • Gestion de scripts et de processus de bash multithread au…
  • Comment tracer les appels du système effectués par un processus avec Strace sur…
  • Commande man dans Linux avec des exemples
  • Conseils de ligne de commande bash utiles et exemples de trucs - Partie 1
  • Une introduction à l'automatisation Linux, des outils et des techniques