Comenzando con Bash Scripting

bashNo pretendo hacer un curso de bash, documentación hay bastante en la red, inglés y español. Aqui iniciamos una serie de artículos enfocados a demostrar el potencial del lenguaje interpretado BASH; no sólamente se trata de una consola intérprete de comandos, se trata de un verdadero lenguaje de programación enfocado a órdenes, aunque no exclusivamente, para sistemas Unix y automatizaciones a través de scripts en dicho lenguaje.

El pertenecer al grupo de los lenguajes interpretados brinda cuantiosas ventajas: rapidez de ejecución, sintaxis clara y sencilla y portabilidad, permitiendo ejecutar la mayoría de scripts entre diferentes distros Unix que posean las herramientas para interpretar este lenguaje.

Bash no solo reconoce comandos, permite agruparlos para realizar programas completos sobretodo para monitoreos y automatizaciones. De igual manera integra opciones, parámetros y uso de variables dentro de los scripts; uso de ciclos, condicionales y expresiones regulares.

Haber escrito un comando en Linux implica haber programado en Bash. Bastarán algunos scripts que ejemplifiquen éstas tareas y en próximos artículos se estarán proporcionando los usos y aplicaciones.

Funcionalidad

Al igual que cualquier lenguaje interpretado, la programación puede realizarse línea a línea o en un solo archivo que agrupe dichos comandos y su posterior ejecución secuencial. Generalmente cada línea representará un comando. De ésta manera:

vdebian:~/bash> set VAR="Cadena"
vdebian:~/bash> echo $VAR
Cadena

Es igual a editar un archivo, generalmente con extension .sh

#!/bin/bash
VAR="Cadena"
echo $VAR

Con sus pequeñas variaciones. Si éstos comandos se tienen que estar repitiendo de manera constante, yo si prefiero escribirlos en un solo archivo y después ejecutarlo. En un script de dos órdenes quizá parezca inútil, pero se imaginan escribir 100 líneas repetitivas? Cansado y tedioso.

En este caso, generé un archivo llamado script.sh y asigné permisos de ejecución, obligatorios con:

chmod a+x script.sh

Ejecutamos y veremos la impresión de la variable VAR en pantalla.

Uso práctico

Claro está que los scripts poseen más ventajas que desventajas al momento de optimizar tareas. Para verlo claramente, hagamos un script que nos genere un respaldo de la carpeta home del usuario que ejecute dicho script

#!/bin/bash
fecha=`date +%H-%M-%S`
cd ~
tar cvzf ${fecha}_bk.tar.gz ~/
echo "Respaldo creado"

Dicho script, generará en el propio home, el respaldo en formato .tar.gz. colocando en el nombre del archivo la hora. Además, imprimirá en pantalla “Respaldo creado” cuando éste haya concluido.

Ésto, agregado como una tarea a nuestro crontab,  evitará el realizar dicho respaldo de manera manual y periódica.

Facebook Twitter Email

Entradas relacionadas

  • Sin entradas relacionadas

También te podría gustar...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *