¿Puedes llamar a un .sh
archivo desde el símbolo del sistema de Windows usando cualquiera de estos programas?
Por ejemplo:
msys myscript.sh
O
c:\temp\msys.exe myscript.sh
¿Es posible? Como me gustaría realizar un archivo por lotes que ejecute scripts .sh en uno de mis sistemas.
Respuesta1
msys.exe
es uno de varios puertos de herramientas de línea de comandos de Unix. No lo he usado, pero msys.exe
parece ser el paquete de instalación, por lo que debes ejecutarlo y configurarlo. Si desea tener las herramientas disponibles y el instalador no lo hace, deberá agregar el directorio instalado a su PATH
variable.
Para interpretar un script de shell necesita bash
, por lo que en su ejemplo escribiría:
bash -c myscript.exe
Si todos sus scripts terminan en .sh
(en Unix no es necesaria una extensión en particular y, a menudo, no hay ninguna), puede asociar la .sh
extensión con bash
, de modo que luego pueda simplemente escribir o hacer doble clic en el nombre del script.
Alternativamente, puede ejecutar bash
de forma interactiva en lugar de cmd
y luego todos sus comandos se ejecutarán como si estuvieran en Unix.
Dos puntos a tener en cuenta: -
- Si los scripts se importan desde Unix, seráninterpretadocorrectamente, pero no se ejecutará si invocan comandos o recursos que no existen en Windows o tienen funciones diferentes.
- Unix lo utiliza
/
como separador de directorios y-
para señalar opciones de comando, mientras que Windows usa\
y/
. Algunos puertos de comando de Unix intentan adaptarse a ambos estilos, pero debido a que/
tiene dos significados diferentes, es necesariamente un compromiso pobre. No tengo idea simsys
intenta esto.