En PC Resumen vamos a hablar en este artículo de la aritmética y lógica que permite Bash.

Operaciones Aritméticas

En Bash se pueden utilizar las operaciones entre dos variables utilizando los signos que seguramente ya sabéis:

En PC Resumen vamos a hablar en este artículo de los Generalizadores en Bash, estos nos facilitan mucho el trabajo ahorrando teclear código de más. Existen dos tipos de "Generalizadores", los "Globales" y "Las expansiones".

Globales

  • "": Le indica a Bash que es el directorio "home" del usuario.
  • "*": Significa todo lo que se pueda incluir. Por ejemplo si hacemos el comando "ls *.sh" nos listará todos aquellos ficheros que contengan cualquier cosa delante del "*" y terminen en ".sh".
  • ".": El punto significa que le indicamos al terminal que use el directorio que estamos trabajando ahora para ejecutar algún fichero, como ahora los scripts en Bash.

Veamos un ejemplo donde apliquemos estos tres "Generalizadores":

#!/bin/bash
# En este Script vamos a usar los generalizadores globales "~", "*" y ".".

echo "Mi directorio home es:" ~ # Mostrará la ruta absoluta del directorio home del usuario activo.
ls ~/Imágenes/*.jpg # Listará todos los ficheros que terminen en ".jpg" en la ruta del directorio de imágenes del home del usuario.
./hola-mundo.sh # Ejecutará en la ruta donde estamos trabajando actualmente en el terminal el script hola-mundo.sh que hicimos de ejemplo.

En PC Resumen vamos a hablar en este artículo de la necesidad de redirigir resultados de la ejecución de un comando a diferentes lugares (Otros Scripts, programas, ficheros de texto, etc.).

Los descriptores de archivos

En Bash o cualquier otro lenguaje de comandos por shell en Linux, existen tres tipos de descriptores:

  • STDIN: Es la entrada estándar. Normalmente se utiliza para leer, viene de la entrada de datos por teclado de un terminal.
  • STDOUT: Es la salida estándar. Normalmente sirve para enviar los datos a la pantalla del terminal. Muestra los datos de un procedimiento normal y correcto según el resultado que se esperaba.
  • STDERR: Es la salida de errores estándar. Normalmente sirve para enviar los datos a la pantalla del terminal. Muestra los datos erróneos de un procedimiento cuando el resultado no es el esperado.

Cualquier script en Bash, hereda estos tres tipos de descriptores, haciendo así posible, la interacción con ellos por parte del programador o usuario.

En PC Resumen vamos a hablar de "Los diferentes tipos de bucles que existen en Bash" y como usarlos en cada caso. Hablaremos del while-do done, del until-do done y for-in-do done.

Bucle - while-do done

La sentencia while-do done se utiliza para ejecutar un grupo de comandos mientras una condición se cumpla (Sea verdadera). Veamos un ejemplo de como funciona pero antes una pequeña introducción a los diferentes tipos de comparadores y comandos que nos ayudaran a programar bien los bucles:

Tipo de comparadores

  • -gt: Sirve para compara si es mayor que
  • -ge: Sirve para comparar si es mayor o igual.
  • -le: Sirve para compara si es menor o igual.
  • -lt: Sirve para comparar si es menor que.
  • -eq: Sirve para compara si es igual que.
  • -ne: Sirve para saber si es distinto que.

En PC Resumen vamos a hablar en este artículo de como realizar las Funciones en Bash.

Definición y ejemplo de un script con una función

Las "Funciones" sirven para tener mejor estructurado el código en un Script. Son muy útiles cuando partes del código de un Script son repetitivos, así solo se escriben una vez y se llaman tantas veces que como haga falta. Las funciones pueden ser definidas en cualquier orden (Al principio del programa, en el medio o bien al final), pueden haber tantas como sea necesario y pueden contener un cuerpo relativamente complejo de comandos para realizar su tarea.

Para definir una función en Bash es necesario definirle:

  • Un nombre: Que sea representativo para la tarea que va a desarrollar.
  • Paréntesis tras el nombre.
  • Llaves "{}": Donde se va a definir el cuerpo de la función.
  • Cuerpo: Donde se programa la tarea que realizará la función.