¿Archivos .sh desde el símbolo del sistema?

¿Archivos .sh desde el símbolo del sistema?

¿Puedes llamar a un .sharchivo 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.exees uno de varios puertos de herramientas de línea de comandos de Unix. No lo he usado, pero msys.exeparece 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 PATHvariable.

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 .shextensión con bash, de modo que luego pueda simplemente escribir o hacer doble clic en el nombre del script.

Alternativamente, puede ejecutar bashde forma interactiva en lugar de cmdy 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 si msysintenta esto.

información relacionada