6. Estructuras de Control
Condicionales
-
if, else, elif:
- Descripción: Permite ejecutar comandos condicionalmente, evaluando expresiones y ejecutando diferentes bloques de código según el resultado.
- Sintaxis:
if [ condición ]; then
# comandos si la condición es verdadera
elif [ otra_condición ]; then
# comandos si la otra condición es verdadera
else
# comandos si ninguna condición anterior es verdadera
fi - Ejemplo:
a=10
b=20
if [ $a -gt $b ]; then
echo "a es mayor que b"
elif [ $a -lt $b ]; then
echo "a es menor que b"
else
echo "a es igual a b"
fi - Operadores de comparación:
-eq
: Igual a (equal).-ne
: No igual a (not equal).-lt
: Menor que (less than).-le
: Menor o igual que (less than or equal).-gt
: Mayor que (greater than).-ge
: Mayor o igual que (greater than or equal).- Ejemplo:
a=10
b=20
if [ $a -gt $b ]; then
echo "a es mayor que b"
elif [ $a -lt $b ]; then
echo "a es menor que b"
else
echo "a es igual a b"
fi
-
case:
- Descripción: Similar al
switch
en otros lenguajes de programación, permite ejecutar comandos basados en el valor de una variable. - Sintaxis:
case $variable in
valor1)
# comandos para valor1
;;
valor2)
# comandos para valor2
;;
*)
# comandos para cualquier otro valor
;;
esac - Ejemplo:
read -p "Introduce un número entre 1 y 3: " numero
case $numero in
1)
echo "Has introducido el número 1"
;;
2)
echo "Has introducido el número 2"
;;
3)
echo "Has introducido el número 3"
;;
*)
echo "Número fuera del rango 1-3"
;;
esac
- Descripción: Similar al
Bucles
-
for:
- Descripción: Itera sobre una lista de elementos, ejecutando un bloque de comandos para cada elemento.
- Sintaxis:
for variable in lista; do
# comandos
done - Ejemplo:
for i in {1..5}; do
echo "Número: $i"
done
-
while:
- Descripción: Ejecuta un bloque de comandos mientras una condición sea verdadera.
- Sintaxis:
while [ condición ]; do
# comandos
done - Ejemplo:
contador=1
while [ $contador -le 5 ]; do
echo "Contador: $contador"
contador=$((contador + 1))
done
-
until:
-
Descripción: Ejecuta un bloque de comandos hasta que una condición sea verdadera.
-
Sintaxis:
until [ condición ]; do
# comandos
done -
Ejemplo:
contador=1
until [ $contador -gt 5 ]; do
echo "Contador: $contador"
contador=$((contador + 1))
doneBucles anidados
-
-
Descripción: Ejecutar un bucle dentro de otro bucle, permitiendo iterar sobre múltiples dimensiones de datos.
-
Sintaxis:
for variable1 in lista1; do
for variable2 in lista2; do
# comandos
done
done -
Ejemplo:
for i in {1..3}; do
for j in {1..3}; do
echo "i: $i, j: $j"
done
done