Quelle est la différence entre l'approvisionnement et l'exécution d'un script shell

Quelle est la différence entre l'approvisionnement et l'exécution d'un script shell
Dans les systèmes d'exploitation de type Unix, un script shell est un fichier contenant une série de commandes qui sont interprétées et exécutées par le programme Shell. Quand il s'agit d'exécuter un script de shell, il existe deux façons principales de le faire: l'approvisionnement et l'exécution. Bien qu'ils puissent sembler similaires, ils ont des effets différents sur les variables actuelles de la session et de l'environnement, cet article expliquera les différences entre les deux méthodes.

Quelle est la différence entre l'approvisionnement et l'exécution d'un script shell

Pour comprendre la différence entre les deux façons dont il faut d'abord avoir une connaissance solide pour utiliser les deux méthodes, alors ayons d'abord leur définition de base une par une:

Source d'un script shell

L'approvisionnement d'un script shell est un moyen d'exécuter un script dans l'environnement de shell actuel. Toutes les commandes d'un script sont exécutées si elles sont tapées directement dans l'interface de ligne de commande et l'approvisionnement d'un script fait la même chose. Pour cette raison, il offre une option au script pour modifier les variables d'environnement et définir les options de shell dans le shell actuel.

Pour plus d'illustration, j'ai réalisé un fichier de test pour le script bash, puis je l'ai exécuté, voici le code du fichier bash que j'ai créé:

# bashfile.shot
exporter my_info = "Bonjour Linuxhint"

Ici, j'ai créé une variable environnementale qui est my_info qui a Bonjour Linuxhint stocké dedans puis l'exécuté en utilisant la syntaxe donnée:

.

Depuis que j'ai créé un fichier nommé Bashfile.SH j'ai donc utilisé la syntaxe ci-dessus comme ceci:

. bashfile.shot

Une fois le fichier exécuté, j'ai appelé la variable environnementale pour voir ce qui est stocké et il y renvoie la valeur stockée, ce qui montre clairement que les modifications des variables d'environnement persistent dans le shell actuel:

Exécution d'un script shell

L'exécution d'un script shell est un moyen d'exécuter un script dans un shell séparé. Lorsqu'un script est exécuté, un nouveau shell est créé, le script est exécuté dans ce shell et le shell se termine lorsque le script est terminé. Cela montre que toutes les modifications apportées aux variables d'environnement ou aux options de shell dans le script ne persisteront pas une fois le script terminé. Pour plus d'illustration, j'ai réalisé un fichier de test pour le script bash, puis je l'ai exécuté, voici le code du fichier bash que j'ai créé:

# bashfile.shot
exporter my_info = "Bonjour Linuxhint"

Ici, je viens de créer une variable environnementale qui est My_info qui a Bonjour Linuxhint stocké dedans puis l'exécuté en utilisant la syntaxe donnée:

./ /

Depuis que j'ai créé un fichier nommé Bashfile.SH j'ai donc utilisé la syntaxe ci-dessus comme ceci:

./ bashfile.shot

Une fois le fichier exécuté, j'ai appelé la variable d'environnement pour voir ce qui est stocké dessus et il renvoie un blanc qui montre clairement que les modifications apportées aux variables d'environnement ou aux options de shell dans le script ne persisteront pas une fois le script terminé:

Pour illustrer davantage la différence là-bas, le tableau ci-dessous qui indique certaines des principales différences entre l'approvisionnement et l'exécution d'un fichier:

Facteurs Exécution d'un script shell Source d'un script shell
Alias ​​et fonctions Les alias et les fonctions ne persistent que dans le shell du script. Les alias et les fonctions persistent dans le shell actuel.
Environnement Les modifications des variables d'environnement ne persistent que dans le shell du script. Les modifications des variables d'environnement persistent dans le shell actuel.
Syntaxe ./ nom de script.nom de script sh ou bash.shot . nom de script.SH ou nom de script source.shot
Utilité principale Exécuter un script autonome sans affecter le shell actuel. Configurez les variables d'environnement ou les alias pour la coquille

Conclusion

Il existe deux façons d'exécuter le script bash, l'un est en l'approvisionnement et l'autre est en l'exécutant les deux comme ont leur propre signification. La principale différence entre les deux est que l'approvisionnement du fichier de script maintient les modifications des variables d'environnement dans le shell actuel, tandis que l'exécution du script conservera les modifications.un