You are on page 1of 23

Prof.

Pablo Macn
http://soii-its.blogspot.com
pablomacon@gmail.com
while es una estructura que, en
general, utilizamos cuando no
sabemos de antemano, cuntas
veces se va a repetir un cdigo de
programa

WHILE VS. FOR
Usamos el bucle while:
Cuando el usuario debe ingresar
un nmero en particular para salir
del men

Pulse 0 para salir
WHILE VS. FOR
Usamos el bucle while:
Cuando la condicin no es
numrica

while [ $a != salir ]
while [ $a == true ]
WHILE VS. FOR
WHILE VS. FOR
for, en cambio, se utiliza,
normalmente, cuando sabemos
exactamente cuntas veces se tiene
que repetir el ciclo
WHILE VS. FOR
Usamos el bucle for:
Cuando vamos desde un nmero
hasta otro en secuencia
Desde 1 hasta 10 de uno en uno
Desde 10 hasta 0 de dos en dos
WHILE VS. FOR
Usamos el bucle for:
Vamos a ver que en bash podemos
utilizar otras cosas como
contadores, por ejemplo listas de
palabras
WHILE VS. FOR
En cualquier caso, for se compone de
una variable que va tomando distintos
valores de una lista posible, uno por
vez
FOR
Sintaxis versin 1
for variable in {inicio..fin..intervalo}
do
acciones
done
FOR
for i in {10..0} #si no pongo intervalo
do #va de uno en uno
echo $i #hacia adelante o
sleep 1 #hacia atrs
done
FOR
for i in {0..10..2}
do
echo "bienvenido $i veces"
done
FOR
Sintaxis versin 2 (parecido a java)
for ((inicio; condicion fin; incremento))
do
sentencias
done
FOR
for ((i=0; i<10; i++)) # doble
do # parntesis
echo $i
done

FOR
for ((i=0; i<11; i+=2))
do
echo "bienvenido $i veces"
done
FOR
Sintaxis versin 3
for variable in lista de valores
do
sentencias
done
FOR
for i in 10 9 8 7 6 5 4 3 2 1 0
do # espacio entre cada caracter
echo $i
done

FOR
for 0 2 4 6 8 10
do
echo "bienvenido $i veces"
done
FOR
Esta ltima sintaxis es ms
interesante porque la lista puede ser
no solo de nmeros, sino tambin de
caracteres, archivos, nombres, etc.
FOR
lista=`ls /bin/c*`
for i in $lista
do
echo archivo: $i
done
FOR
Ejercicio:
Pedir al usuario la cantidad de
palabras que quiera ingresar en un
archivo. Luego debemos leer el
archivo e ir imprimiendo las palabras
de a una por vez

FOR
Ejercicio:
Crear un script que le permita
ingresar tantos nombres como se
quiera y que al presionar una tecla
termine su ejecucin. Los nombres
debern quedar guardados en un
archivo llamadonombres.txt.
FOR
Ejercicio:
Crear un script similar al del punto
anterior pero en lugar de presionar
una tecla para finalizar, el usuario
debe especificar de antemano
cuantos nombres quiere cargar.
FOR
Ejercicio:
Crear un shell scipt que muestre por
pantalla los nombres guardados en
el archivo nombres.txt, pero de a
uno y limpiando la pantalla antes de
mostrar el siguiente nombre.