En este tema, aprenderemos sobre los operadores básicos en Bash. Los operadores son símbolos que le indican al shell que realice operaciones específicas, como aritméticas, de comparación, de asignación, entre otras. Comprender cómo usar estos operadores es fundamental para escribir scripts efectivos y eficientes.
Tipos de Operadores
- Operadores Aritméticos
- Operadores de Comparación
- Operadores Lógicos
- Operadores de Asignación
- Operadores de Manipulación de Cadenas
- Operadores Aritméticos
Los operadores aritméticos se utilizan para realizar operaciones matemáticas básicas. Aquí están los más comunes:
Operador | Descripción | Ejemplo |
---|---|---|
+ |
Suma | echo $((3 + 2)) # 5 |
- |
Resta | echo $((5 - 2)) # 3 |
* |
Multiplicación | echo $((3 * 2)) # 6 |
/ |
División | echo $((6 / 2)) # 3 |
% |
Módulo (resto) | echo $((5 % 2)) # 1 |
** |
Exponenciación | echo $((2 ** 3)) # 8 |
Ejemplo Práctico
#!/bin/bash # Script para demostrar operadores aritméticos a=10 b=5 echo "Suma: $((a + b))" echo "Resta: $((a - b))" echo "Multiplicación: $((a * b))" echo "División: $((a / b))" echo "Módulo: $((a % b))" echo "Exponenciación: $((a ** b))"
- Operadores de Comparación
Los operadores de comparación se utilizan para comparar dos valores. Aquí están los más comunes:
Operador | Descripción | Ejemplo |
---|---|---|
-eq |
Igual a | [ 3 -eq 3 ] # true |
-ne |
No igual a | [ 3 -ne 4 ] # true |
-gt |
Mayor que | [ 5 -gt 3 ] # true |
-lt |
Menor que | [ 3 -lt 5 ] # true |
-ge |
Mayor o igual que | [ 5 -ge 5 ] # true |
-le |
Menor o igual que | [ 3 -le 5 ] # true |
Ejemplo Práctico
#!/bin/bash # Script para demostrar operadores de comparación a=10 b=5 if [ $a -eq $b ]; then echo "a es igual a b" else echo "a no es igual a b" fi if [ $a -gt $b ]; then echo "a es mayor que b" else echo "a no es mayor que b" fi
- Operadores Lógicos
Los operadores lógicos se utilizan para combinar múltiples condiciones.
Operador | Descripción | Ejemplo |
---|---|---|
&& |
AND lógico | [ $a -gt 0 ] && [ $b -gt 0 ] |
` | ` | |
! |
NOT lógico | [ ! $a -gt 0 ] |
Ejemplo Práctico
#!/bin/bash # Script para demostrar operadores lógicos a=10 b=5 if [ $a -gt 0 ] && [ $b -gt 0 ]; then echo "Ambos a y b son mayores que 0" fi if [ $a -gt 0 ] || [ $b -gt 0 ]; then echo "Al menos uno de a o b es mayor que 0" fi if [ ! $a -lt 0 ]; then echo "a no es menor que 0" fi
- Operadores de Asignación
Los operadores de asignación se utilizan para asignar valores a las variables.
Operador | Descripción | Ejemplo |
---|---|---|
= |
Asignación | a=5 |
+= |
Suma y asigna | a+=3 |
-= |
Resta y asigna | a-=2 |
*= |
Multiplica y asigna | a*=2 |
/= |
Divide y asigna | a/=2 |
%= |
Módulo y asigna | a%=2 |
Ejemplo Práctico
#!/bin/bash # Script para demostrar operadores de asignación a=10 echo "Valor inicial de a: $a" a+=5 echo "Después de a+=5: $a" a-=3 echo "Después de a-=3: $a" a*=2 echo "Después de a*=2: $a" a/=4 echo "Después de a/=4: $a" a%=3 echo "Después de a%=3: $a"
- Operadores de Manipulación de Cadenas
Los operadores de manipulación de cadenas se utilizan para comparar y manipular cadenas de texto.
Operador | Descripción | Ejemplo |
---|---|---|
= |
Igual a | [ "$a" = "$b" ] |
!= |
No igual a | [ "$a" != "$b" ] |
-z |
Longitud cero | [ -z "$a" ] |
-n |
No longitud cero | [ -n "$a" ] |
Ejemplo Práctico
#!/bin/bash # Script para demostrar operadores de manipulación de cadenas a="hello" b="world" if [ "$a" = "$b" ]; then echo "a es igual a b" else echo "a no es igual a b" fi if [ -z "$a" ]; then echo "a es una cadena vacía" else echo "a no es una cadena vacía" fi if [ -n "$a" ]; then echo "a no es una cadena vacía" else echo "a es una cadena vacía" fi
Ejercicios Prácticos
Ejercicio 1: Operaciones Aritméticas
Escribe un script que tome dos números como entrada y realice las siguientes operaciones: suma, resta, multiplicación, división y módulo. Muestra los resultados en la salida estándar.
Solución
#!/bin/bash # Script para realizar operaciones aritméticas echo "Introduce el primer número:" read num1 echo "Introduce el segundo número:" read num2 echo "Suma: $((num1 + num2))" echo "Resta: $((num1 - num2))" echo "Multiplicación: $((num1 * num2))" echo "División: $((num1 / num2))" echo "Módulo: $((num1 % num2))"
Ejercicio 2: Comparación de Números
Escribe un script que tome dos números como entrada y compare si son iguales, si uno es mayor que el otro, o si uno es menor que el otro. Muestra los resultados en la salida estándar.
Solución
#!/bin/bash # Script para comparar dos números echo "Introduce el primer número:" read num1 echo "Introduce el segundo número:" read num2 if [ $num1 -eq $num2 ]; then echo "Los números son iguales" elif [ $num1 -gt $num2 ]; then echo "El primer número es mayor que el segundo" else echo "El primer número es menor que el segundo" fi
Ejercicio 3: Combinación de Condiciones
Escribe un script que tome tres números como entrada y verifique si todos son positivos, si al menos uno es positivo, o si ninguno es positivo. Muestra los resultados en la salida estándar.
Solución
#!/bin/bash # Script para verificar condiciones combinadas echo "Introduce el primer número:" read num1 echo "Introduce el segundo número:" read num2 echo "Introduce el tercer número:" read num3 if [ $num1 -gt 0 ] && [ $num2 -gt 0 ] && [ $num3 -gt 0 ]; then echo "Todos los números son positivos" elif [ $num1 -gt 0 ] || [ $num2 -gt 0 ] || [ $num3 -gt 0 ]; then echo "Al menos uno de los números es positivo" else echo "Ninguno de los números es positivo" fi
Conclusión
En esta sección, hemos cubierto los operadores básicos en Bash, incluyendo operadores aritméticos, de comparación, lógicos, de asignación y de manipulación de cadenas. Estos operadores son fundamentales para realizar operaciones y tomar decisiones en tus scripts. Asegúrate de practicar con los ejercicios proporcionados para reforzar tu comprensión y habilidad en el uso de estos operadores. En el próximo tema, exploraremos las sentencias condicionales en Bash, que te permitirán tomar decisiones más complejas en tus scripts.
Curso de Programación en Bash
Módulo 1: Introducción a Bash
- ¿Qué es Bash?
- Configurando tu Entorno
- Navegación Básica en la Línea de Comandos
- Entendiendo el Shell
Módulo 2: Comandos Básicos de Bash
- Operaciones con Archivos y Directorios
- Comandos de Procesamiento de Texto
- Permisos y Propiedad de Archivos
- Redirección y Tuberías
Módulo 3: Fundamentos de Scripting
Módulo 4: Scripting Intermedio
Módulo 5: Técnicas Avanzadas de Scripting
- Operaciones Avanzadas con Archivos
- Gestión de Procesos
- Manejo de Errores y Depuración
- Expresiones Regulares
Módulo 6: Trabajando con Herramientas Externas
Módulo 7: Automatización y Programación
Módulo 8: Mejores Prácticas y Optimización
- Escribiendo Código Legible
- Optimizando Scripts en Bash
- Consideraciones de Seguridad
- Control de Versiones con Git