458 votes

Quelle est la différence entre l'exécution d'un script en Bash et le sourcing ?

Quelle est la différence entre exécuter un script Bash comme A et sourcer un script Bash comme B ?

A
> ./myscript

B
> source myscript

3 votes

Vous pourriez lire ceci : bash.cyberciti.biz/guide/commande_source

0 votes

3voto

Si je me souviens bien, l'exécution du script exécute l'exécutable dans le répertoire #! avec le fichier script comme argument (typiquement en démarrant un nouveau script et en sourçant effectivement le script dans le nouveau script, comme avec #!/bin/sh ) ;
Alors que, le sourcing du script exécute chaque ligne dans votre environnement script actuel, ce qui est utile pour muter votre script actuel (par exemple, en fournissant un moyen de définir des fonctions script et d'exporter des variables d'environnement).

3voto

Harsh Vakharia Points 461

source exécute la commande script fournie. (l'autorisation d'exécution est non obligatoire ) en el actuel Shell environnement, alors que ./ exécute la commande fournie exécutable script dans une nouveau Shell.

Consultez également cette réponse à titre d'exemple : https://superuser.com/a/894748/432100

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X