jueves, 4 de noviembre de 2010

Shell Script

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

No hay comentarios:

Publicar un comentario