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
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
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).
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
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.
3 votes
Vous pourriez lire ceci : bash.cyberciti.biz/guide/commande_source
0 votes
Voir aussi unix.stackexchange.com/questions/43882/