Cuando ejecuto un script .bat desde bash en Cygwin, ¿mediante qué mecanismo se está ejecutando? Entiendo que si ejecuto un .EXE se ejecutará, independientemente de si .EXE es de Cygwin o de un entorno más tradicional. Lo entiendo cuando ejecuto un script ejecutable con #! al principio que Cygwin proporciona la magia para que se ejecute.¿Por qué Cygwin puede ejecutar scripts .bat?
¿Pero por qué funciona una secuencia de comandos .bat? ¿Hay algún componente dentro de Cygwin que sepa qué es un script .bat de Windows y qué hacer con él? ¿O es que de alguna manera es imposible en Windows ejecutar una llamada para iniciar un archivo .EXE que no funcionará automáticamente para un script .bat?
Para las secuencias de comandos de shell UNIX normales, debe cargar el programa que se especifica después del shebang, no utilizar ciegamente bash (y las secuencias de comandos que especifican bash es probable que no sean muy portátiles :)) – Joey
Esto funciona para .bat pero no para .ps1 (PowerShell). Cygwin debe tener un manejo integrado de los archivos .bat. –