Ejercicios de Shell Scripting (con soluciones)
1. Variables (Muy fácil)
Ejercicio: Define dos variables (nombre y edad) y muéstralas.
Mostrar solución
bash
#!/bin/bash
nombre="Juan"
edad=25
echo "Me llamo $nombre y tengo $edad años"2. Entrada y Salida (Muy fácil)
Ejercicio: Pide el nombre al usuario y salúdalo.
Mostrar solución
bash
#!/bin/bash
echo "¿Cómo te llamas?"
read nombre
echo "Hola, $nombre"3. Operadores (Fácil)
Ejercicio: Pide dos números y muestra operaciones básicas.
Mostrar solución
bash
#!/bin/bash
read -p "Número 1: " a
read -p "Número 2: " b
echo "Suma: $((a+b))"
echo "Resta: $((a-b))"
echo "Multiplicación: $((a*b))"
echo "División: $((a/b))"4. Condicionales (Fácil)
Ejercicio: Determina si un número es positivo, negativo o cero.
Mostrar solución
bash
#!/bin/bash
read -p "Número: " n
if [ $n -gt 0 ]; then
echo "Positivo"
elif [ $n -lt 0 ]; then
echo "Negativo"
else
echo "Cero"
fi5. Bucles (Fácil)
Ejercicio: Imprime del 1 al 10.
Mostrar solución
bash
#!/bin/bash
for i in {1..10}; do
echo $i
done6. Funciones (Media)
Ejercicio: Función que calcule el cuadrado.
Mostrar solución
bash
#!/bin/bash
cuadrado() {
echo $(($1 * $1))
}
resultado=$(cuadrado 5)
echo "Resultado: $resultado"7. Arrays (Media)
Ejercicio: Recorre un array de nombres.
Mostrar solución
bash
#!/bin/bash
nombres=("Ana" "Luis" "Carlos" "Marta" "Sofía")
for nombre in "${nombres[@]}"; do
echo $nombre
done8. Cadenas de texto (Media)
Ejercicio: Analiza una cadena.
Mostrar solución
bash
#!/bin/bash
read -p "Introduce texto: " texto
echo "Longitud: ${#texto}"
echo "Mayúsculas: ${texto^^}"
echo "Minúsculas: ${texto,,}"9. Ficheros y directorios (Media)
Ejercicio: Crear directorio y archivo.
Mostrar solución
bash
#!/bin/bash
mkdir mi_directorio
touch mi_directorio/archivo.txt
ls mi_directorio10. Redirecciones, tuberías y regex (Media-Alta)
Ejercicio: Filtrar líneas con números.
Mostrar solución
bash
#!/bin/bash
grep '[0-9]' archivo.txt > resultado.txt
echo "Filtrado completado"