Je me demandais quel est le but de canaliser le fichier téléchargé curl
dans sudo -E bash -
dans le shell suivant:
curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
C'est un moyen court d'exécuter un script sans avoir à enregistrer le fichier puis à l'exécuter. Lorsque vous enregistrez le fichier, puis l'exécutez, un certain nombre de choses peuvent mal se passer:
sh foo.sh
place de bash foo.sh
)./foo.sh
), et a oublié de définir les autorisations d'exécutionsudo
En fournissant une seule ligne de commande à exécuter, les développeurs peuvent réduire le nombre d'endroits où les choses peuvent mal tourner en raison d'une erreur de l'utilisateur.
Personnellement, je méprise la tuyauterie curl to bash. Ce n'est pas prudent.
Cette commande téléchargerait le fichier et tenterait de l'exécuter avec les privilèges root.
-E
option et-
à la fin du commandement?-E
préserve les variables d'environnement (disons les variables pour les paramètres proxy) et-
demande à bash de lire les commandes depuis l'entrée standard, c'est-à-dire le canal.