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"
fiEjercicios 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"
fiEjercicio 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"
fiConclusió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
