30Jun

Cómo crear y ejecutar comandos Bash Shell en Windows 10

click fraud protection

Con la llegada del shell Bash de Windows 10, ahora puede crear y ejecutar scripts de shell Bash en Windows 10. También puede incorporar comandos Bash en un archivo por lotes de Windows o un script de PowerShell.

Incluso si sabes lo que estás haciendo, esto no es necesariamente tan simple como parece. Windows y UNIX usan diferentes caracteres de final de línea, y se puede acceder al sistema de archivos de Windows en una ubicación diferente en el entorno Bash.

Cómo escribir un script de Bash en Windows 10

Al escribir scripts de shell en Windows, tenga en cuenta que los sistemas de Windows y UNIX como Linux utilizan diferentes caracteres de "fin de línea" en archivos de texto en scripts de shell.

En otras palabras, esto significa que no se puede simplemente escribir un script de shell en el Bloc de notas. Guarde el archivo en el Bloc de notas y Bash no lo interpretará correctamente. Sin embargo, puede utilizar editores de texto más avanzados; por ejemplo, Notepad ++ le permite asignarle un archivo a los caracteres de fin de línea de UNIX haciendo clic en Editar & gt;Conversión de EOL & gt;Formato UNIX / OSX.

instagram viewer

Sin embargo, es mejor escribir el script de shell en el entorno de Bash. El entorno Bash basado en Ubuntu viene con los editores vi y nano text. El editor vi es más poderoso, pero si nunca lo ha usado antes, es posible que desee comenzar con nano. Es más fácil de usar si eres nuevo.

Por ejemplo, para crear un script bash en nano, ejecutaría el siguiente comando en bash:

nano ~ / myscript.sh

Esto abriría el editor de texto Nano apuntando a un archivo llamado "myscript.sh" en su usuariodirectorio principal de la cuenta.(El carácter "~" representa el directorio de inicio, por lo que la ruta completa es /home/username/ myscript.sh).

Inicie su script de shell con la línea:

#!/bin/ bash

Ingrese los comandos que desea ejecutar, cada uno en su propia línea. El script ejecutará cada comando por turno. Agregue un carácter "#" antes de una línea para tratarlo como un "comentario", algo que le ayuda a usted y a otras personas a entender el guión, pero que no se ejecuta como un comando. Para obtener trucos más avanzados, consulte una guía más detallada de scripts de Bash en Linux. Las mismas técnicas funcionarán en Bash en Ubuntu en Windows.

Tenga en cuenta que no hay forma de ejecutar programas de Windows desde el entorno Bash. Está restringido a los comandos y utilidades del terminal de Linux, tal como lo haría con un sistema Linux típico.

Por ejemplo, usemos un script básico de "hello world" como ejemplo aquí:

#!/bin/ bash # establece la variable STRING STRING = "¡Hola mundo!"# imprimir el contenido de la variable en la pantalla echo $ STRING

Si está utilizando el editor de texto Nano, puede guardar el archivo presionando Ctrl + O y luego Entrar. Cierre el editor presionando Ctrl + X.

Haga que el script sea ejecutable y luego ejecútelo.

Probablemente quiera hacer que el script sea ejecutable para que pueda ejecutarlo más fácilmente. En Linux, eso significa que debe darle al archivo de script el permiso ejecutable. Para hacerlo, ejecute el siguiente comando en el terminal, apunte al script:

chmod + x ~ / myscript.sh

Para ejecutar el script, ahora puede simplemente ejecutarlo en el terminal escribiendo su ruta. Cada vez que desee iniciar el script en el futuro, solo abra el shell Bash y escriba la ruta al script.

~ / myscript.sh

( Si el script está en el directorio actual, puede ejecutarlo con. /myscript.sh)

Cómo trabajar con archivos de Windows en un script Bash

Para acceder a los archivos de Windows en el script, 'Necesitaré especificar su ruta bajo /mnt/ c, no su ruta de Windows. Por ejemplo, si desea especificar el archivo C: \ Users \ Bob \ Downloads \ test.txt, deberá especificar la ruta /mnt/c/Users/Bob/Downloads/ test.txt. Consulte nuestra guía de ubicaciones de archivos en el shell Bash de Windows 10 para obtener más detalles.

Cómo incorporar comandos Bash en un script por lotes o PowerShell

Por último, si tiene un archivo por lotes o un script PowerShell al que desea incorporar comandos, puede ejecutar los comandos Bash directamente utilizando el comando bash -c.

Por ejemplo, para ejecutar un comando de Linux en una ventana de Símbolo de sistema o PowerShell, puede ejecutar el siguiente comando:

bash -c "comando"

Este truco le permite agregar comandos de Bash en archivos por lotes o scripts de PowerShell. La ventana del shell Bash aparecerá cuando se esté ejecutando un comando Bash.

Para crear un acceso directo a un script Bash desde Windows, simplemente cree un acceso directo como lo hace normalmente. Para el destino del acceso directo, utilice el comando bash -c que hemos descrito anteriormente y apúntelo al script Bash que ha creado.

Por ejemplo, señalaría un atajo en "bash -c" ~ / myscript.sh "" para ejecutar el script de ejemplo anterior. También puede ejecutar este comando desde un símbolo del sistema o una ventana de PowerShell.