Las secuencias de comandos Bash son una habilidad útil para aprender como usuario de Linux. Incluso como principiante, conocer esta habilidad puede ser 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 de bash para automatizar Linux y tomar el control total de su escritorio. Repasaremos los conceptos básicos de las secuencias de comandos con el shell Bash, los conceptos básicos de lo que hace una secuencia de comandos , cómo ejecutarlos en su sistema, qué significan los shebangs y más.
Tipos de guiones
Hay muchos tipos diferentes de scripts. Principalmente: SH y BASH. Estas extensiones de archivo son importantes, porque la extensión de archivo le dice al intérprete cómo ejecutarla. Si un archivo es un archivo SH, se puede ejecutar en cualquier shell, no solo 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 deben ejecutarse dentro de Bash. Baste decir que su script con la extensión de archivo bash no se ejecutará en el shell Fish en Linux, ni en ninguno de los otros shells similares disponibles.
Shebangs
Algunas secuencias de comandos no utilizan extensiones de archivo en absoluto. En su lugar, usan un shebang para que el intérprete entienda para qué sirve el guión y cómo ejecutarlo. Al escribir un guión, el shebang SIEMPRE viene 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 shebang en el que los usuarios deben pensar es el estándar: #! / Bin / bash
Hacer una secuencia de comandos Bash
Muchos principiantes confunden los scripts de bash para la programación real. El propósito principal de las secuencias de comandos en bash es encadenar muchos comandos juntos, efectivamente haciendo cosas largas y complicadas sin la necesidad de escribir cada pequeña cosa en el terminal shell. 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 hacer una secuencia de comandos de actualización simple agregando las líneas:
sudo apt update; sudo apt upgrade -y
Alternativamente, otro ejemplo: haga 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!
Después de añadir el lo que quiera a su guión, guardarlo 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 manera, ya que los scripts a menudo no se ejecutarán a menos que el script bash tenga los permisos correctos. Establezca los permisos con:
sudo chmod + x script
Haciendo tu guión un binario
Para ejecutar su script simplemente escribiendo el nombre del archivo en el terminal, deberá convertirlo en 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 esté 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 del terminal, desde cualquier lugar simplemente escribiendo el nombre en el terminal. Por ejemplo: usó YouTube-DL para escribir un script de extracción automático de YouTube y lo colocó en / usr / bin / para facilitar el acceso.
Para ejecutar dicho script, harías:
youtubescript
¡Eso es!
Conclusión
Aprender el idioma de bash es una herramienta útil. Sin él, los administradores del sistema y los geeks de la terminal se encontrarían esclavizados sobre una terminal durante horas a la vez. En cambio, pueden escribir scripts de bash para automatizar Linux. Al aprender a aprovechar el poder de Bash, usted 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 se necesita es un poco de creatividad!