Controla el flujo de ejecución basándose en la “palabra” dada. La palabra se compara, en orden, con todos los patrones. Cuando la palabra coincida con un patrón, se ejecutan todas las órdenes que vayan a continuación, hasta encontrar ;; (doble punto y coma).
Los Bucles, en programación, son uno de los pilares fundamentales en los cuales nos apoyamos a la hora de desarrollar cualquier tipo de aplicación, bien sea una web, una APP para Android o IOS, una aplicación de escritorio etc…
BUCLE WHILE – En el siguiente ejemplo, podemos ver que, mientras la variable $contador sea menor o igual a 15, imprimiremos un mensaje por pantalla. Una vez que la variable tenga el valor 15, el bucle finalizará y el script imprimirá otro mensaje de finalización.
Shell
1
2
3
4
5
6
7
8
9
#!/bin/bash
# Bucle básico While
contador=1
while[$contador-le15]
do
echo"Este es el mensaje número"$contador
((contador++))
done
echo"Bucle finalizado"
BUCLE UNTIL – En el siguiente ejemplo, la variable $contador se inicializa con un valor de 1. Hasta que la variable $contador no sea superior a 10, la variable $contador se incrementará en +1 hasta que sea superior a 10. El código es el siguiente:
Shell
1
2
3
4
5
6
7
8
9
#!/bin/bash
# Bucle básico Until
contador=1
until[$contador-gt10]
do
echo"El valor de la variable $contador es: "$contador
((contador++))
done
echo"Bucle finalizado. Enhorabuena!"
BUCLE FOR – n el siguiente ejemplo, vamos a crear una serie de elementos (marchas de coches) que asignaremos a la variable coche y que posteriormente iremos recorriendo uno a uno para mostrar el nombre de cada una de las marcas. Lo que hace el bucle básicamente es, para cada uno de los elementos, hacer N cosas:
Shell
1
2
3
4
5
6
7
8
9
#!/bin/bash
# Bucle básico For
coches='Ford Seat Mercedes Fiat Opel'
print"El listado de marcas de coches es:"
forcoche in$coches
do
echo$coche
done
echo"Bucle <for> finalizado!"
BREAK y CONTINUE EN BUCLES – Aunque no son realmente ningún tipo de bucle, break y continue se suelen utilizar dentro de los bucles vistos anteriormente para obligar al bucle a seguir o salirse de la ejecución. En el siguiente ejemplo, $a toma valores entre 0 y 10, pero si a=5, el bucle finalizará:
Shell
1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
a=0
while[$a-lt10]
do
echo"Valor: $a"
((i++))
if[["$a"=='5']];then
break
fi
done
En el siguiente ejemplo, $a toma valores entre 0 y 10, y se mostrará un mensaje solo cuando a sea diferente de 7:
Ahora veamos cómo nos facilita la vida el uso de Here Document, indicando un delimitador (en este caso le he dado el nombre EOF) para el código que queremos volcar en el fichero html_example.html
Shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/sh
fecha=`date+%F`
parrafo1="Este es el primer parrafo"
parrafo2="Este es el segundo parrafo"
parrafo3="Este es el tercer parrafo"
cat<<EOF>/home/julio/html_example.html
<html>
<head><title>HTML ejemplo</title></head>
<body>
<h1>Este es el header principal</h1>
<h2>Aqui incluimos una variable,su contenido es$fecha</h2>
Esta corresponde a una consulta WEB, en donde la respuesta se almacena en la variable “check” para ser procesada posteriormente, en la respuesta se quitan los símbolos “{}” y los espacios que deja adelante y atrás de la variable (check).-
El siguiente codigo nos permite listar los archivos contenidos en la ruta “/usr19/servicios/” con grep –v se filtran los nombres de archivo que finalizan con números, signo “:” y “/”, también los que contienen en su nombre el patrón “respaldo”.