next up previous contents
Next: Correo Electrónico Up: Programación en shell Previous: El comando while   Índice General

El comando for

Para quienes programan en otros lenguajes el comando for se comporta distinto a la clásica sentencia for. Este comando asigna de una lista de elementos, el valor a una variable y repite una lista de comandos con esa variable.

Si bien la explicación pudo ser un poco confusa, el concepto es bastante fácil de entender al ver un ejemplo.

for cantidad in dos tres cuatro cinco seis siete
do
  echo ${cantidad} elefantes se balancaban sobre la tela de una araña
  echo como veian que resistia fueron a llamar a otro elefante...
done

dos (...) siete
son los elementos.
cantidad
es la variable que iteración a iteración va tomando los valores de la lista de elementos
do; echo (...);done
es el bloque de comandos a iterar.

Esta es la forma más simple de utilizar el comando for, pero con pocas variaciones se puede realizar cosas muy útiles, por ejemplo:

for archivo in `ls`
do
  touch ${archivo}
done

La lista de elementos se obtiene de el resultado del comando ls. Es decir, primero se ejecuta ls, el cual dará el listado de todos los archivos de un directorio, y a todos esos archivos se les aplica un touch2.16.

Práctica - 2.7



1- Hacer un script que compile un programa2.17 y SOLO en el caso de que la compilación sea exitosa, realice el enlazado (o linkeado) del mismo2.18.



2- Suponiendo que el comando cant-mb-libres retorna la cantidad de MB libres en el disco, hacer un script que compruebe la capacidad disponible, y si es mayor a 640MB, copia el directorio /usr/local al directorio /backup. En caso contrario mandar un mail a administrador@lejos.ch, también utilizando un hipotético comando: enviar-mail.



3- En base al listado del directorio /backup, enviar a la impresora (o agregar al archivo /dev/lp0 que es equivalente) los primeros 30 elementos. Si existía mayor cantidad de archivos escribir una línea final que diga ``y mas...''. Este ejercicio realizarlo con while o for en vez de tuberías.


next up previous contents
Next: Correo Electrónico Up: Programación en shell Previous: El comando while   Índice General
Proyecto Cursos - LuCAS - http://lucas.hispalinux.es/htmls/cursos.html