Ok ahora veamos como hacer un ciclo o bucle en shell, al igual que en programación tenemos la sentencia WHILE , veamos acerca de ella.
el while tiene una condicionante que funciona parecido al if, en ella podemos utilizar evaluaciones echas con el test, veamos la sintaxis
while [ condición ]
do
comandos
done
el comando se repetirá hasta que la condición sea verdadera .
veamos un ejemplo sencillo
echo " indtroduzca numero"
read x
while test $x != 20
do
echo " introduzca el numero correcto"
echo " intente de nuevo"
read x
done
esto lo hará hasta que sea el numero que se ingrese sea 20
también podemos redirecciona información
veamos un pequeño ejemplo
ls -la | while read w x y z
do
echo $w , $x , $y , $z.
done
las letras se convertirán en cada columna y se cortaran en cada espacio vació.
ls | while read x
do
if [ -d "$x" ]
then
echo $x es directorio
break
elif [ -e $x ]
then
echo $x es archivo
continue
fi
done
este script identifica si la listado es archivo o directorio . si es directorio rompe el ciclo
como evaluar expresiones matemáticas en el shell utilizamos expr
veamos un ejemplo
# expr 2 \* 3
este comando puede ejecutar múltiples operaciones matemáticas , es recomendable que vean el manual completo
ahora veremos la sentencia for .
la sentencia for sirve para hace ciclos al igual que el while . veamos como es la sintaxis
# for x in argumentos do comandos done
veamos un ejemplo pequeño, re nombremos todos los archivos de un directorio .
# for x in *.conf; do y=${x/.conf/.old}; mv $x $y; done
veamos otro ejempo de como hacer un contador con el for
# for ((i=0;$i<100;i= `expr $i + 2`)) do echo $i; done;
como notaron , utilice un tipo de comillas para denotar la expresión, esto permite utilizar comandos en las lineas de ejecución . veamos otro ejemplo
jueves, 4 de noviembre de 2010
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario