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
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.