For shell script

Preview:

DESCRIPTION

LInux - shell scripting - bucle for

Citation preview

SHELL SCRIPTEstructuras

repetitivas II

Prof. Pablo Macónhttp://soii-its.blogspot.compablomacon@gmail.com

while es una estructura que, en general, utilizamos cuando no sabemos de antemano, cuántas veces se va a repetir un código de programa

WHILE VS. FOR

Usamos el bucle while:Cuando el usuario debe ingresar un número en particular para salir del menú

“Pulse 0 para salir”

WHILE VS. FOR

Usamos el bucle while:Cuando la condición no es numérica

while [ $a != “salir” ] while [ $a == “true” ]

WHILE VS. FOR

WHILE VS. FOR

for, en cambio, se utiliza, normalmente, cuando sabemos exactamente cuántas veces se tiene que repetir el ciclo

WHILE VS. FOR

Usamos el bucle for:Cuando vamos desde un número hasta otro en secuencia

Desde 1 hasta 10 de uno en unoDesde 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 – versión 1for variable in {inicio..fin..intervalo}do

accionesdone

FOR

for i in {10..0} #si no pongo intervalo

do #va de uno en uno

echo $i #hacia adelante o

sleep 1 #hacia atrás

done

FOR

for i in {0..10..2}do echo "bienvenido $i veces"done

FOR

Sintaxis – versión 2 (parecido a java)for ((inicio; condicion fin; incremento))do

sentenciasdone

FOR

for ((i=0; i<10; i++)) # doble do # paréntesis echo $i done

FOR

for ((i=0; i<11; i+=2))do echo "bienvenido $i veces"done

FOR

Sintaxis – versión 3for variable in lista de valoresdo

sentenciasdone

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 10do echo "bienvenido $i veces"done

FOR

Esta última sintaxis es más interesante porque la lista puede ser no solo de números, sino también de caracteres, archivos, nombres, etc.

FOR

lista=`ls /bin/c*`for i in $listado

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 ejecución. Los nombres deberán quedar guardados en un archivo llamado“nombres.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.