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

  1. Operadores Aritméticos
  2. Operadores de Comparación
  3. Operadores Lógicos
  4. Operadores de Asignación
  5. Operadores de Manipulación de Cadenas

  1. 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))"

  1. 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

  1. 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

  1. 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"

  1. 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.

© Copyright 2024. Todos los derechos reservados