Cómo escribir scripts Bash para automatizar Linux

El script bash es una habilidad útil para aprender como usuario de Linux. Incluso como principiante, conocer esta habilidad puede marcar la diferencia entre aprovechar al máximo su máquina y hacer todo a mano. Es por eso que en este artículo, le enseñaremos cómo escribir scripts bash para automatizar Linux y tomar el control total de su escritorio. Repasaremos los conceptos básicos de la creación de scripts con el shell Bash, los conceptos básicos de lo que hace un script, cómo ejecutarlos en su sistema, qué significa shebangs, ¡y más!

Tipos de guiones

Hay muchos tipos diferentes de secuencias de comandos. Principalmente: SH y BASH. Estas extensiones de archivo son importantes, porque la extensión del archivo le dice al intérprete cómo ejecutarlo. Si un archivo es un archivo SH, se puede ejecutar en cualquier shell, no solo en Bash. Esto significa que un script escrito para Bash en Linux puede ejecutarse en Mac, BSD y otros lugares con shells similares.

Los scripts que usan la extensión de archivo BASH solo están destinados a ejecutarse dentro de Bash. Basta con decir que su script con la extensión de archivo bash no se ejecutará en Fish Shell en Linux, ni en ninguno de los otros shells similares disponibles.

  3 formas sencillas de cifrar archivos en Linux

Shebangs

Algunas secuencias de comandos no utilizan ninguna extensión de archivo. En su lugar, utilizan un shebang para que el intérprete comprenda para qué sirve el script y cómo ejecutarlo. Al escribir un guión, el tinglado SIEMPRE es lo primero. Si un shebang está ausente, a menudo un script se negará a ejecutarse, especialmente si no se utiliza ninguna extensión de archivo.

Hay mucho que aprender sobre shebangs, pero los principiantes no deben preocuparse por ellos. Solo resultan útiles para usuarios avanzados de Bash, que buscan escribir herramientas Bash increíblemente complejas. Como principiantes, el único tema en el que los usuarios deben pensar es el estándar: #! / Bin / bash

Hacer un guión de Bash

Muchos principiantes confunden los scripts bash con la programación real. El propósito principal de las secuencias de comandos en bash es encadenar muchos comandos juntos, haciendo de manera efectiva cosas largas y complicadas sin la necesidad de escribir cada detalle en el shell del terminal. Si está tratando de hacer una programación seria en Bash, deténgase y considere un lenguaje de programación real utilizado en Linux como Python.

Para comenzar, abra una terminal e ingrese el siguiente comando:

nano myfirstbashscript

Esto abre el editor de texto Nano. Dentro de nano, agregue el shebang, para ayudar al intérprete a identificar qué hacer con el guión.

#!/bin/bash

¡Desde aquí, podemos hacer cualquier cosa! Por ejemplo: un usuario de Ubuntu puede crear un script de actualización simple agregando las líneas:

sudo apt update;sudo apt upgrade -y

Alternativamente, otro ejemplo: cree un script de ping continuo para que se ejecute en segundo plano, si le preocupa la velocidad de su red.

ping google.com

¡Agregue cualquier comando que desee al script! ¡Se creativo!

  Cómo arreglar carpetas que no se pueden escribir por cuenta de usuario en Linux

Después de agregar lo que desea a su script, guárdelo con nano usando CTRL + O.

Con el script creado, es hora de actualizar los permisos. En una terminal, haz:

sudo chmod +x myfirstbashscript

Ejecución de scripts

Para ejecutar un script de shell, abra una terminal y haga:

sudo sh script.sh

Para ejecutar archivos bash, intente:

sudo bash script.bash

Alternativamente, cualquier script, independientemente de la extensión del archivo, puede ejecutarse fácilmente con ./filename en la terminal.

Las tres formas de ejecutar scripts funcionan muy bien. Dicho esto, usar ./filename es la peor forma, ya que los scripts a menudo no se ejecutarán a menos que el script bash tenga los permisos correctos. Configure los permisos con:

sudo chmod +x script

Hacer que su guión sea binario

Para ejecutar su secuencia de comandos simplemente escribiendo el nombre del archivo en la terminal, deberá convertirlo en un binario. Para hacer esto, use el comando chmod para hacerlo ejecutable.

sudo chmod +x

Cuando el script está marcado como ejecutable, es hora de mover el script para que sea accesible en la ruta del usuario. Haga esto con el comando MV. Alternativamente, use el comando CP en lugar del comando mover si desea mantener una copia de seguridad de su script en su ubicación original.

sudo mv /location/of/script /usr/bin/

o

sudo cp /location/of/script /usr/bin/

Luego, ejecute el script recién movido dentro de la terminal, desde cualquier lugar simplemente escribiendo su nombre en la terminal. Por ejemplo: usó YouTube-DL para escribir un script de extracción automática de YouTube y lo colocó en / usr / bin / para facilitar el acceso.

  Cómo crear un disco de instalación de macOS en Linux

Para ejecutar dicho script, deberías hacer:

youtubescript

¡Eso es todo!

Conclusión

Aprender el idioma de bash es una herramienta útil. Sin él, los administradores de sistemas y los expertos en terminales se encontrarían trabajando como esclavos en un terminal durante horas. En su lugar, pueden escribir scripts bash para automatizar Linux. Al aprender a aprovechar el poder de Bash, escribe todas estas operaciones complejas y las ejecuta rápidamente con un script.

El shell es hermoso, y cuanto más aprenda sobre él, más aprenderá sobre sus propios sistemas Linux, cómo automatizarlos e incluso mejorará cómo funcionan las cosas internamente. El cielo es el límite con bash, ¡todo lo que necesitas es un poco de creatividad!