122 votes

Exécuter un script bash à partir de Windows PowerShell

Sous cygwin, je pouvais simplement exécuter ./script.sh args, mais cela ouvre le fichier de script dans le Bloc-notes de PowerShell.

Que dois-je faire pour le faire exécuter ?

2voto

manuelvigarcia Points 481

Utilisation de Git bash

C'est une variante de certaines des autres réponses. Cela permet d'associer vos fichiers *.sh avec l'interpréteur de commandes bash installé avec Git, mais sans les tracas d'avoir une installation Unix/Linux comme avec WSL.

Il est courant d'utiliser git comme système de contrôle de version de nos jours. Il est également assez courant d'utiliser le client git fourni par le site git. Si vous acceptez d'associer les scripts shell à git bash lors de l'installation, vous n'aurez pas besoin d'étape supplémentaire : vous pourrez déjà exécuter des scripts bash depuis PowerShell.

Lors de l'installation de git, assurez-vous de décocher la case "Afficher uniquement les nouvelles options" pour avoir un contrôle total sur l'installation.

Afficher toutes les options lors de l'installation de Git

Ensuite, assurez-vous de cocher la case "Associer les fichiers .sh à exécuter avec Bash".

Associer Bash pour exécuter les fichiers .sh

Vous êtes prêt.

Dorénavant, vous pouvez exécuter des scripts Bash de la même manière que vous exécutez tout autre type de fichier ayant un exécutable associé :

  • depuis une fenêtre de ligne de commande (cmd, PowerShell)
  • depuis la boîte de dialogue Exécuter (Win+R)
  • l'explorateur de fichiers Windows
  • etc.

1voto

Nazar Points 1

Comme l'a suggéré ghost21blade, vous pouvez simplement utiliser ./your_script.sh.

De plus, vous pouvez ajouter "C:\Program Files\Git\bin" au chemin d'accès dans les variables d'environnement utilisateur. Dans ce cas, vous pourrez exécuter sh your_script.sh et bash your_script.sh

1voto

t7e Points 107

Un ajout à la réponse de @Marius Tancredi. Vous pouvez exécuter une commande bash depuis PowerShell avec :

bash -c "echo test"

WSL devrait être configuré dans Windows : https://learn.microsoft.com/en-us/windows/wsl/install

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X