Comando for en Linux: Crear Bucles y Automatizar Tareas en Scripts
El shell posee estructuras para probar condiciones y ejecutar determinadas secuencias de programas varias veces (loop), hasta que la condición probada sea satisfecha.
Los tres comandos que lo posibilitan son el for (hasta que), el while (mientras sea verdadero) y until (mientras sea falso).
El comando for en Linux permite que se hagan bucles (loops) para que uno o más comandos se ejecuten hasta que una determinada variable recorra todos los valores de una lista dada.
Vea un ejemplo simple:
$ for numero in um dois três quatro cincodoecho "Contando: $numero"done
Contando: um
Contando: dois
Contando: três
Contando: quatro
Contando: cinco
El mismo comando puede escribirse en una sola línea:
$ for numero in um dois três quatro cinco; do echo "Contando: $numero"; done
Vea el ejemplo:
$ ls -1 > lista_arquivos.txt
Ahora se puede usar el for para ejecutar diversos comandos para cada archivo de la lista:
$ for i in $(cat lista_arquivos.txt); do cp $i $i.backup; mv $i.backup /tmp/backup; done;
Este bucle asigna a la variable $i cada línea del archivo lista_arquivos.txt.
La expresión $(comando) genera una lista con el resultado del comando. Tiene el mismo efecto que utilizar el comando entre comillas invertidas: `comando`.
A continuación, ejecuta los comandos para renombrar y mover los archivos hasta que la lista esté completa.
Ahora un ejemplo un poco más complejo, con uso del for con if:
$ for i in `ls -1`; do if test -f $i; then echo “$i é um arquivo “; else echo “$i não é um arquivo”; fi ; done
Desktop não é um arquivoDocuments não é um arquivoDownloads não é um arquivoHR_PROFESSOR.sql é um arquivo
En esta línea, el resultado del comando ls -1 se coloca en la variable $i; Luego cada línea de la variable $i se prueba para saber si es un archivo; si es verdadero, se mostrará una frase y, si es falso, otra frase.
Aprenda mucho más sobre Linux en nuestro curso en línea. Puede realizar la inscripción aquí. Si ya tiene una cuenta, o quiere crear una, simplemente ingrese o cree su usuario aquí.
¿Le gustó? Comparta
Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.