2012-01-02 05:07:33 +0000 2012-01-02 05:07:33 +0000
22
22

¿Cómo puedo ejecutar un script de shell en Windows?

Soy un usuario de Mac y nuevo en Windows. ¿Cómo puedo ejecutar un script de shell en Windows?

Generalmente, guardaría el archivo de texto con la extensión .sh y lo ejecutaría a través de Terminal. ¿Pero cómo podría hacerlo en Windows?

Respuestas (8)

30
30
30
2012-01-02 05:18:47 +0000

Los scripts con el sufijo .sh son generalmente scripts de shell Bourne (o bash, o ksh, o zsh - todos los shells derivados del shell Bourne). (Tenga en cuenta que en sistemas de tipo Unix, incluyendo MacOS, el sufijo .sh no es necesario; el sistema operativo mira la línea #!/bin/sh en la parte superior del script para determinar cómo ejecutarlo).

Windows no proporciona un shell de tipo Bourne.

Puede instalar Cygwin , que proporciona un entorno de tipo Unix bajo Windows – pero no tiene un entorno particularmente “nativo”. (Comentario editorial: Cygwin es genial para gente como yo que necesita usar Windows pero que realmente preferiría usar Unix)

Hay otros subsistemas similares a Unix que funcionan bajo Windows, incluyendo MinGW y el paquete Servicios de Windows para UNIX proporcionado por Microsoft.

O, en lugar de intentar escribir y ejecutar scripts de shell similares a los de Unix, puede escribir archivos por lotes de Windows. Estos generalmente tienen un sufijo .bat o .cmd. Utilizan los mismos comandos y la misma sintaxis que el símbolo del sistema de comandos interactivo de Windows.

También existe el relativamente nuevo Windows PowerShell ; yo mismo no estoy familiarizado con él, pero he oído cosas buenas sobre él.

7
7
7
2012-01-02 05:09:41 +0000

Puedes usar Cygwin . Proporciona un entorno similar al de Linux en las ventanas.

2
2
2
2016-09-19 19:31:35 +0000

Hay otra manera de hacer esto con la Actualización de aniversario para Windows 10 . Ahora hay un shell Bash (Ubuntu) disponible en Windows.

Para poder usarlo necesitas instalar la característica ya que no está habilitada por defecto.

  1. Ve a Control Panel -> Programs -> Turn Windows Features On and Off.

    1. Selecciona la casilla de verificación de Windows Subsystem for Linux (Beta). Esto instalará la característica y pedirá un reinicio.

Entonces puedes abrir un símbolo del sistema a través de ejecutar ———> cmd y luego escribir bash o ejecutar ———> bash.exe.

Esto te dará un shell bash sin máquina virtual o Cygwin o caja virtual.

2
2
2
2012-01-02 05:16:17 +0000

En Win las extensiones comunes son .bat o .cmd. Una buena fuente para los comandos usados en el shell de Windows es ss64 - para CMD y PowerShell. Cygwin no es un “must”. Sólo te da el estilo de Linux - usa BASH en Win.

2
2
2
2012-01-02 12:14:01 +0000

¿Qué hay de UWIN?? UWIN es un paquete de software creado por David Korn que permite que los programas escritos para el sistema operativo Unix sean construidos y ejecutados en Microsoft Windows con pocos, o ningún cambio. Parte del desarrollo del software fue subcontratado a Wipro, India.

Comprueba esto UWIN - Unix for Windows

Características destacadas de UWIN

  1. Acceso a casi todas las herramientas de línea de comandos de Unix en Windows. 245 herramientas de línea de comando para ser exactos.
  2. Viene con el compilador original de Unix ‘cc’ así como con una plétora de herramientas como ‘make’ y las librerías necesarias que permiten que las aplicaciones de Unix se construyan y ejecuten en máquinas de Windows con muy pocos o ningún cambio en el código fuente.
  3. Opción de usar otros compiladores como Visual C++ o Mingw para compilar programas. Paquete completo de Perl.
  4. Librerías X windows para aquellos que aspiran a desarrollar aplicaciones X en windows. Aunque para ejecutar esas aplicaciones en Windows, necesitas un servidor X que no esté incluido en UWIN.
  5. UWIN viene con un applet de panel de control (al que se accede a través de ‘Inicio->Configuración->Panel de control->UWIN’) que puede ser usado para configurar algunos de los parámetros de sistema de UWIN.

Usos de UWIN

  • Ejecuta aplicaciones Unix de forma nativa en Windows a toda velocidad.
  • Usar todo el poder de las herramientas de línea de comandos de Unix en Windows.
  • El korn shell incluido en UWIN hace que un usuario de Unix se sienta como en casa en un entorno Windows.
  • Desarrollar y ejecutar aplicaciones UNIX en Windows.
  • Desarrollar aplicaciones X en la plataforma Windows.

Desventajas de UWIN

  • UWIN no viene incluido en un servidor X por lo que un usuario no podrá ejecutar aplicaciones X en Windows. Aunque hay servidores X comerciales de terceros disponibles que pueden llenar este vacío.
  • UWIN no está liberado bajo la GPL pero es gratis para descargar y usar para propósitos educativos y no comerciales

*Ese software fue usado para enseñarnos Linux Command cuando estaba en la universidad… muy bueno… *


Ref: WikiPedia Cygwin es un entorno de tipo Unix y una interfaz de línea de comandos para Microsoft Windows.

Lo bueno es que Cygwin proporciona una integración nativa de aplicaciones basadas en Windows, datos y otros recursos del sistema con aplicaciones, herramientas de software y datos del entorno de tipo Unix.

  • Interix ** Interix es un componente de los Servicios para Unix (SFU) versión 3.0 y 3.5 (esta última se distribuye libremente).

Las más recientes versiones de Interix, 5.2 y 6. 0, son componentes de las ediciones Windows Server 2003 R2, Windows Vista Enterprise y Ultimate y Windows Server 2008 bajo el nombre SUA (Subsystem for Unix-based Applications) La versión 6.1 está incluida en Windows 7 (Enterprise y Ultimate) y Windows Server 2008 R2 (todas las ediciones)

1
1
1
2016-08-25 07:59:50 +0000

Aunque las respuestas existentes aquí eran correctas en ese momento, Windows 10 hace ahora incluye opcionalmente una versión modificada de Ubuntu ejecutando un shell completo de bash .

Una vez instalado, puedes abrir un prompt bash (muy parecido a una terminal en OS X/macOS) y ejecutar el script como de costumbre, es decir:

chmod +x myscript.sh
./myscript.sh

Si quieres ejecutar un script directamente desde Windows podrías crear un atajo en el mismo directorio y establecer el ‘Target’ a algo como:

C:\Windows\System32\bash.exe -c "./myscript.sh"

Si la ruta de su script es relativa a la ubicación del atajo (como en el ejemplo anterior) asegúrese de que el campo ‘Inicio en’ también esté en blanco.

0
0
0
2012-01-02 05:09:52 +0000

Necesitarás CygWin, y entonces creo que serás capaz de correr:

sh yourscript.sh
0
0
0
2012-01-02 11:20:04 +0000

La respuesta correcta fue dada en un comentario de Kenaniah, tienes que usar archivos por lotes . Tienes que nombrar tu archivo de código de shell a *.bat, luego puedes ejecutarlo haciendo clic en él o simplemente escribir su nombre en la terminal. Fíjate que la terminal de Windows no funciona exactamente como la terminal de Unix. Encontrarás mucha ayuda y tutoriales para los comandos y la sintaxis por toda la web. También existe la posibilidad de usar el Windows PowerShell , que parece ser más parecido a unix.