Un tutorial y taller de Bash scripting
Quien trabaja con Linux difícilmente puede evitar los scripts de Bash, aunque pocos se toman la molestia de aprenderlos adecuadamente.
Después de escribir un pequeño artículo sobre la extensión del navegador de archivos Nautilus, me percaté de lo útil que resultaría un tutorial conciso.
Temas que cubriremos:
- Introducción a Linux y la shell Bash
- Fundamentos de la programación en Bash
- Introducción a la línea de comandos
- Comandos básicos y navegación
- Trabajar con archivos y directorios
- Crear, leer y editar archivos
- Navegación en directorios
- Crear scripts de Bash
- Estructura básica de un script de Bash
- Escribir scripts ejecutables
- Variables y flujo de datos
- Tipos de variables y declaración
- Lectura y escritura de datos
- Estructuras de control
- Condiciones y toma de decisiones
- Construcciones de bucles
- Funciones y modularidad
- Definir y utilizar funciones
- Construir scripts modulares
- Manejo de errores y debugging
- Identificar fuentes de errores
- Debuggear scripts de forma efectiva
- Temas avanzados
- Expresiones regulares
- Scripting para administración de sistemas
- Herramientas y recursos útiles
1. Introducción a Linux y la shell Bash
Linux es un sistema operativo ampliamente utilizado, conocido por su estabilidad, seguridad y flexibilidad. La shell Bash es una de las más comunes en Linux y permite interactuar con el sistema operativo a través de una interfaz de línea de comandos.
2. Fundamentos de la programación en Bash
Introducción a la línea de comandos
Te mostraré cómo usar la línea de comandos, una herramienta esencial en Linux. Aprenderás a escribir comandos para interactuar con tu sistema.
Comandos básicos y navegación
Conoce los comandos fundamentales:
pwd: Muestra tu directorio actual. ls: Lista archivos y directorios. cd: Cambia de directorio. touch: Crea un archivo nuevo. mkdir: Crea un directorio nuevo.
3. Trabajar con archivos y directorios
-
Crear, leer y editar archivos Aquí aprenderás cómo crear archivos, mostrar su contenido y editarlos.
-
Navegación en directorios Te mostraré cómo moverte entre directorios y organizar tu estructura de archivos de manera eficiente.
4. Crear scripts de Bash
Estructura básica de un script de Bash
Todo script de Bash comienza con #!/bin/bash. Esta línea es crucial, pues indica qué intérprete se debe usar.
Crear un script de Bash
*Abre una terminal: Inicia tu terminal en Linux. *Crea un archivo nuevo: Usa el comando touch para crear un archivo de script. Por ejemplo: touch mein_skript.sh. *Edita el archivo: Abre el archivo en un editor de texto. Puedes usar un editor simple como nano: nano mein_skript.sh.
Escribir un script de Bash
En el editor, inserta el siguiente código:
#!/bin/bash
#Una función simple
gib_aus() {
echo "Hola, soy una función!"
}
#Llamar a la función
gib_aus
#Una salida simple
echo "Este es mi primer script de Bash!"
En este ejemplo, comenzamos directamente con una función.
Guardar y cerrar el script de Bash
Guarda el script en nano presionando Ctrl+O, luego Enter. Sal del editor con Ctrl+X.
Escribir scripts ejecutables
Aprenderás a escribir un script y hacerlo ejecutable para lanzarlo directamente desde la línea de comandos.
Para que puedas ejecutar el script, debes hacerlo ejecutable:
Ejecuta el comando chmod +x mein_skript.sh.
Ejecutar un script de Bash
Ejecuta el script con ./mein_skript.sh.
¿Qué ocurre en el script?
#!/bin/bash: Esta es la línea shebang, que indica que el script debe ejecutarse con Bash.gib_aus() { ... }: Aquí defines una función llamada gib_aus que muestra un mensaje.gib_aus: Llamas a la función gib_aus.echo "Este es mi primer script de Bash!": Con echo muestras un mensaje en pantalla.- Este script te muestra los fundamentos de la creación de scripts, la definición y llamada de funciones, así como la salida de texto en Bash. ¡Siéntete libre de experimentar con el código para añadir más funciones y comandos!
Sin embargo, asegúrate primero de hacer una copia de seguridad, en caso de que accidentalmente elimines o modifiques datos.
5. Variables y flujo de datos
Tipos de variables y declaración
En Bash puedes usar diferentes tipos de variables. Te explicaré cómo declararlas y asignarles valores. Por ejemplo: meine_variable=“Hola mundo”.
Tutorial: Trabajar con variables en Bash
En esta parte del tutorial, nos enfocamos en cómo almacenar, declarar y leer variables en Bash. Las variables son fundamentales para escribir scripts efectivos, ya que te permiten guardar y manipular valores.
Declarar y asignar variables
- Declarar variables En Bash, declara una variable asignándole un valor. Por ejemplo:
meine_variable=“Hola mundo”
Aquí has creado una variable llamada meine_variable y le has asignado el valor “Hola mundo”.
Nombres de variables
- Los nombres de variables deben ser significativos. Pueden contener letras, números y guiones bajos, pero no pueden comenzar con un número.
Leer variables
- Mostrar valores de variables Para mostrar el valor de una variable, usas el comando echo con el símbolo $ delante del nombre de la variable. Por ejemplo:
echo $meine_variable
Esto mostrará “Hola mundo” en la consola.
Trabajar con variables
Insertar variables en texto
También puedes insertar variables dentro de cadenas de texto. Si usas comillas dobles, el valor de la variable se incluirá en la cadena:
echo "El mensaje es: $meine_variable"
Usar variables en cálculos
Para cálculos numéricos, usa la construcción $(( )). Por ejemplo:
a=5
b=3
summe=$((a + b))
echo "La suma es $summe"
Esto mostrará “La suma es 8”.
Variables de entorno
Variables de entorno: Bash también tiene variables de entorno disponibles en todo el sistema. Por ejemplo, echo $HOME muestra la ruta a tu directorio personal.
Establecer variables de entorno propias: Puedes crear variables de entorno personalizadas con export, por ejemplo:
export MEINE_VAR="Un valor"
Esta variable estará disponible en todas las sesiones de shell subordinadas.
Variables y comillas
Comillas dobles
Cuando usas comillas dobles, se interpretan las variables y ciertos caracteres especiales como \n (salto de línea).
Comillas simples
Con comillas simples, el texto se muestra tal como está escrito. Las variables no se interpretan.
echo 'Mi variable: $meine_variable'
Esto mostrará el texto exactamente como está, sin reemplazar el valor de meine_variable.
Consejos para evitar errores comunes
Escribir nombres en mayúsculas
Es una convención común escribir las variables de entorno en mayúsculas para distinguirlas de las variables locales.
Ten cuidado con los espacios
Asegúrate de no dejar espacios alrededor del signo igual al declarar variables.
Con este conocimiento, estás bien preparado para usar variables de forma efectiva en tus scripts de Bash.
Lectura y escritura de datos
Aquí aprenderás cómo almacenar datos en variables y leerlos nuevamente. Esto es especialmente útil cuando necesitas procesar información en tu script.
Estructuras de control
- Condiciones y toma de decisiones Descubrirás cómo usar if, else y elif para formular condiciones y tomar decisiones en tus scripts.
Construcciones de bucles
Los bucles son esenciales para automatizar tareas repetitivas. Te mostraré cómo usar bucles for y while en tus scripts.
7. Funciones y modularidad
Definir y utilizar funciones
Las funciones te ayudan a hacer tu código más eficiente y legible. Aprenderás a definir y llamar funciones personalizadas.
Construir scripts modulares
Te explicaré cómo dividir tus scripts en módulos para hacerlos reutilizables y fáciles de mantener.
8. Manejo de errores y debugging
Identificar fuentes de errores
Los errores ocurren, pero no te preocupes. Te mostraré cómo reconocer y corregir las fuentes de error más comunes.
Debuggear scripts de forma efectiva
Aprenderás técnicas para debuggear tus scripts y encontrar y solucionar errores rápidamente.
9. Temas avanzados
Expresiones regulares
Las expresiones regulares (RegEx) son una herramienta poderosa para procesar texto. Te introduciré en los conceptos básicos y te mostraré cómo usarlas en Bash.
Scripting para administración de sistemas
Los scripts de Bash son ideales para tareas de administración de sistemas. Aprenderás técnicas avanzadas para gestionar tu sistema de forma eficiente.
10. Herramientas y recursos útiles
Herramientas y programas externos
Hay muchas herramientas que facilitan la vida del programador de Bash. Te presento algunas de las mejores.



