Scripts en Bash

Un script en Bash es un archivo de texto que contiene una serie de comandos de Bash. Estos comandos se ejecutan secuencialmente cuando el script se ejecuta utilizando el intérprete de comandos Bash en un sistema Linux o macOS. Los scripts de Bash se utilizan comúnmente para automatizar tareas repetitivas, configurar sistemas y crear herramientas personalizadas.

Que aplicaciones prácticas tiene

Los scripts de Bash tienen muchas aplicaciones prácticas en sistemas Linux y macOS, algunas de las cuales incluyen:

  • Automatización de tareas: Los scripts de Bash se pueden utilizar para automatizar tareas repetitivas, como copiar archivos, crear backups, actualizar software, etc.
  • Configuración del sistema: Los scripts de Bash se pueden utilizar para configurar automáticamente un sistema, como agregar usuarios, configurar redes, ajustar parámetros del sistema, etc.
  • Herramientas personalizadas: Los scripts de Bash se pueden utilizar para crear herramientas personalizadas, como scripts para procesar datos, automatizar tareas de desarrollo, generar informes, etc.
  • Procesamiento de datos: Los scripts de Bash se pueden utilizar para procesar grandes cantidades de datos, como limpiar, filtrar, transformar y analizar datos.
  • Control de sistemas: Los scripts de Bash se pueden utilizar para controlar el estado y el comportamiento de los sistemas, como monitorizar el rendimiento del sistema, controlar el uso de recursos, etc.
  • Integración con otros sistemas: Los scripts de Bash se pueden utilizar para interactuar con otros sistemas, como bases de datos, servicios web, aplicaciones, etc.

Como escribir tu primer script en Bash

Para escribir tu primer script en Bash, sigue estos pasos:

  1. Abre un editor de texto en tu sistema. Puedes utilizar cualquier editor de texto, como nano, vim, emacs o gedit.
  2. Ingresa los comandos de Bash que deseas ejecutar en el script. Asegúrate de que cada comando esté en una línea diferente.
  3. Añade la línea «shebang» al principio del script. La línea «shebang» es la primera línea del script y especifica el intérprete de comandos que se debe utilizar para ejecutar el script. La línea «shebang» para Bash es #!/bin/bash
  4. Guarda el archivo con una extensión .sh (por ejemplo, mi_script.sh)
  5. Conceder permisos de ejecución al script con el comando chmod +x mi_script.sh
  6. Ejecutar el script con ./mi_script.sh

Aquí tienes un ejemplo de un script sencillo que imprime «Hello, World!» en la consola:

#!/bin/bash
echo "Hello, World!"

Recuerda que una vez escrito el script debes darle permisos de ejecución con el comando chmod +x nombre_script.sh y ejecutarlo con ./nombre_script.sh

Una vez tengas tu script funcionando puedes empezar a añadir más comandos, variables, funciones, entre otras cosas para ir creciendo en complejidad y aplicaciones.

Como obtener información del usuario

En Bash, puedes obtener información del usuario mediante el uso de los siguientes comandos:

  • read: este comando permite al script solicitar información al usuario y almacenar la entrada en una variable. Por ejemplo:
echo "Ingresa tu nombre:"
read nombre
echo "Hola, $nombre"

Parámetros posicionales

Los parámetros posicionales en Bash son variables especiales que contienen los argumentos con los que se ejecutó un script. Los parámetros posicionales se refieren a los argumentos mediante su posición en la línea de comando, comenzando en $1 para el primer argumento, $2 para el segundo, etc.

Por ejemplo, si un script se ejecuta con el comando «./mi_script.sh arg1 arg2 arg3», los parámetros posicionales $1, $2 y $3 contendrían los valores «arg1», «arg2» y «arg3», respectivamente.

Ademas de los parámetros posicionales mencionados, existen algunas variables especiales que te pueden ayudar a obtener información de los parámetros:

  • $#: este es el número de parámetros.
  • $@: esta es una lista de todos los parámetros.
  • $*: esta es una lista de todos los parámetros, pero se trata como un solo parámetro.
  • $0: es el nombre del script

Aquí tienes un ejemplo de un script que imprime los parámetros que se le pasan:

#!/bin/bash
echo "Nombre del scritp: $0"
echo "Numero de parametros: $#"
echo "Lista de parametros: $@"
echo "Lista de parametros unidos: $*"

Puedes ejecutar este script con ./mi_script.sh arg1 arg2 arg3, y el resultado sería:

Nombre del scritp: mi_script.sh
Numero de parametros: 3
Lista de parametros: arg1 arg2 arg3
Lista de parametros unidos: arg1 arg2 arg3

Es importante mencionar que los parámetros posicionales son opcionales, es decir, un script puede funcionar sin ellos, y también es importante mencionar que los parámetros posicionales solo pueden ser accedidos mediante su posición y no mediante su nombre.

Operaciones aritméticas

Bash soporta operaciones aritméticas básicas como suma, resta, multiplicación y división. Estas operaciones se pueden realizar utilizando el comando expr o mediante el uso de sintaxis más moderna con los símbolos aritméticos convencionales (+, -, * y /).

Para realizar operaciones aritméticas utilizando expr, debes escribir el comando seguido de los operandos y el operador. Por ejemplo, para calcular la suma de 2 y 3, usarías el comando:

expr 2 + 3

Para realizar operaciones aritméticas utilizando los símbolos aritméticos convencionales, debes escribir el operando y el operador dentro de un par de paréntesis, precedido de un signo de dólar. Por ejemplo, para calcular la suma de 2 y 3, usarías el comando:

echo $((2 + 3))

Aquí tienes algunos ejemplos de operaciones aritméticas en Bash:

  • Suma:
expr 2 + 3
echo $((2 + 3))
  • Resta:
expr 5 - 3
echo $((5 - 3))
  • Multiplicación:
expr 2 \* 3
echo $((2 * 3))
  • División:
expr 6 / 3
echo $((6 / 3))

Es importante mencionar que al usar expr debes escapar los operadores especiales como el * con una barra invertida , mientras que al usar los símbolos aritméticos convencionales no es necesario.

Ademas de estas operaciones básicas, Bash también tiene soporte para operaciones avanzadas como potencia, módulo, asignación con operaciones, entre otras.

División con decimales

En Bash, para realizar una división con decimales, se puede utilizar el comando bc para realizar operaciones matemáticas con números con decimales. El comando bc es un intérprete de lenguaje matemático que se utiliza para realizar operaciones aritméticas complejas.

Para utilizar bc para realizar una división con decimales, debes escribir el comando seguido de los operandos y el operador de división. Por ejemplo, para calcular la división de 7 entre 3, usarías el comando:

echo "7/3" | bc -l

El argumento -l permite que bc imprima el resultado con decimales. Sin el argumento -l, se imprimiría el resultado como un entero.

Aquí tienes algunos ejemplos de operaciones de división con decimales en Bash:

  • División con decimales:
echo "7/3" | bc -l
  • División con decimales y redondeo a 2 decimales:
echo "scale=2; 7/3" | bc

En resumen, para realizar operaciones de división con decimales en Bash se puede utilizar el comando bc con el argumento -l para imprimir el resultado con decimales y/o el argumento scale=x para redondear el resultado a x decimales.

Vídeo tutoriales