Lorsque j'exécute un script .bat à partir de bash dans Cygwin, par quel mécanisme est-il en cours d'exécution? Je comprends que si je cours un .EXE il lancera, indépendamment du fait que le .EXE soit de Cygwin ou d'un environnement plus traditionnel. Je comprends que lorsque j'exécute un script exécutable aveC#! au début que Cygwin fournit la magie pour qu'il fonctionne.Pourquoi est-ce que Cygwin peut exécuter des scripts .bat?
Mais pourquoi un script .bat fonctionne-t-il? Y at-il un composant à l'intérieur de Cygwin qui est conscient de ce qu'est un script Windows .bat et que faire avec? Ou est-ce qu'il est en quelque sorte impossible sous Windows d'exécuter un appel pour lancer un fichier .EXE qui ne fonctionnera pas automatiquement pour un script .bat à la place?
Pour les scripts shell UNIX normaux, il faut charger le programme qui est spécifié après le shebang, pas aveuglément bash (et les scripts qui spécifient bash risquent de ne pas être très portables :)) – Joey
Cela fonctionne pour .bat mais pas pour .ps1 (PowerShell). Cygwin doit avoir une gestion intégrée des fichiers .bat. –