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 1 : Imprime del 1 al 10.
Mostrar solución
bash
#!/bin/bash
for i in {1..10}; do
echo $i
doneMostrar solución Tipo C
bash
echo -e "\n=== Estilo C (0 al 9) ===\n"
for ((i=0; i<10; i++)); do
echo -n "$i "
doneEjercicio 2 : Imprime múltiplos de 5 entre 0 y 50
Mostrar solución
bash
echo "=== Múltiplos de 5 (0 al 50) ==="
for i in {0..50..5}; do
echo -n "$i "
doneEjercicio 3 : Tabla de multiplicar
Mostrar solución
bash
#!/usr/bin/bash
echo "* Introduce la tabla de multiplicar: "
read tabla
for i in {1..10}; do
echo "$tabla x $i = $(( tabla * i ))"
doneEjercicio 4 : Buscando ficheros que empiezan por s en home
Mostrar solución
bash
#!/bin/bash
echo "=== Ficheros en /etc que empiezan por 'h' ==="
for fichero in ~/s*; do
if [ -f "$fichero" ]; then
echo " Fichero: $fichero"
fi
doneEjercicio 5 : Buscando divisibles de 3 y 5 entre 0 y 100
Mostrar solución
bash
#!/bin/bash
for i in {1..100}; do
if (( i % 3 == 0 && i % 5 == 0 )); then
echo "$i"
fi
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"