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 ?
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 ?
Il existe désormais une solution "native" sous Windows 10, après avoir activé Bash sur Windows, vous pouvez entrer dans l'invite de commande Bash en tapant bash
:
Vous pouvez exécuter un script Bash comme bash ./script.sh
, mais gardez à l'esprit que le lecteur C est situé à /mnt/c
, et les disques durs externes ne sont pas montables. Vous devrez peut-être donc modifier votre script un peu pour qu'il soit compatible avec Windows.
Aussi, même en tant que root
, vous pouvez encore obtenir une autorisation refusée lors du déplacement de fichiers dans /mnt
, mais vous avez tout de même votre plein pouvoir de root
dans le système de fichiers /
.
Assurez-vous également que votre script shell est formaté avec le style Unix, sinon il pourrait y avoir des erreurs.
Il peut également être exécuté en exportant les bash et sh
de gitbash C:\Program Files\git\bin\
vers les variables environnementales de Windows.
Dans la section Avancé dans la variable path
, veuillez ajouter C:\Program Files\git\bin\
ce qui rendra le bash
et le sh
du git-bash exécutables à partir de la window cmd
.
Redémarrez Powershell puis exécutez le fichier shell comme
bash shellscript.sh
ou sh shellscript.sh
Si vous ajoutez l'extension .SH
à la variable d'environnement PATHEXT
, vous pourrez exécuter des scripts shell à partir de PowerShell en utilisant uniquement le nom du script avec des arguments :
PS> .\script.sh args
Si vous stockez vos scripts dans un répertoire inclus dans votre variable d'environnement PATH, vous pouvez l'exécuter de n'importe où, et omettre l'extension et le chemin :
PS> script args
Remarque : sh.exe ou un autre shell *nix doit être associé à l'extension .sh.
Manière la plus simple (Windows10)
./votre_script.sh
Mais vous devez activer l'exécution de script sur PowerShell Voir ici
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.