Una de las mejores maneras de facilitarle la vida con la tecnología, ya sea en el trabajo o en casa, es aprovechar la automatización. La automatización de tareas con scripts y trabajos cronometrados es una forma segura de ahorrarle tiempo, dolor de cabeza y esfuerzo. Sin embargo, no está inmediatamente claro por dónde empezar. Aquí te mostramos cómo usar el Bash for
comando de bucle, una de las herramientas fundamentales en la automatización de TI, para comenzar.
Configuración de su entorno de prueba
Lo primero que necesitará es una instancia funcional de Bash. Este es el shell predeterminado en la Terminal en Linux, Unix, BSD y macOS (a menos que esté ejecutando zsh). Puede verificar qué shell está ejecutando escribiendo el siguiente comando en su terminal:
Debería imprimir el shell que estás usando. Mi salida me dice que estoy usando /bin/bash
que es exactamente lo que estoy buscando.
También necesitará un editor de texto; cualquier editor que elija debería estar bien. Estoy usando Nano en la terminal, pero podría usar fácilmente Vim o Emacs en la terminal o algo como Gedit, Kate o Sublime en la GUI.
Cree un archivo de script en su editor de texto, ya sea usando el touch
comando o simplemente escribiendo el nombre de su editor de texto y el nombre del archivo que desea crear. Para mí, solo podría escribir nano for-loop-test.sh
y yo sería de oro.
El Bash For Loop: conceptos básicos
El ciclo For en Bash le dice al shell que itere sobre un rango específico de objetos y ejecute un comando específico en esos objetos. ¿Qué significa eso? Creo que puede ser más fácil mostrártelo. Este es un bucle For muy básico.
la primera línea, for i in 1 2 3 4 5
especifica una variable «i» y un rango de 1 a 5. Esto podría ser fácilmente otra secuencia de números más compleja, o podría ser una lista de archivos ingresados allí o un directorio.
El siguiente bit es el formateo básico, con el comando que se ejecutará en la parte con pestañas. do
y done
es parte de la sintaxis del bucle For y tiene que estar ahí. Si tuviera que ejecutar este script, obtendría un resultado como este:
Test round 1 Test round 2 Test round 3 Test round 4 Test round 5
Puede ver cómo entra esa variable. Le ayuda a identificar cada objeto individual en ese rango de entrada. Para especificar rangos de números un poco más complejos, puede usar llaves para configurarlos. Para especificar ese mismo rango de antes, puede cambiar for $i in 1 2 3 4 5
a for $i in {1..5}
. La salida sería la misma. También puede hacer que cuente por ciertos números. Esto es contar todos los números de 3 en 3 entre 0 y 27.
Algo que es más común en los scripts es ejecutar un comando particular en un montón de archivos. Si quisiera usar cat
en un montón de archivos en un directorio, podría hacerlo cambiando el script a lo siguiente.
Esto imprimiría la salida de todos los archivos en el «directorio de prueba» a la terminal.
La salida se vería como la siguiente en mi caso.
Puede empezar a hacerse una idea de lo poderoso que puede ser el bucle For. Esto es solo rascar la superficie, y puede encadenar varios comandos entre sí. do
y done
y también puede usar sentencias condicionales para hacer que los comandos sean más complejos.
No olvide consultar nuestros otros artículos de Bash, como Consejos y trucos de Bash para trabajar de manera más inteligente en la terminal y algunos de los caracteres especiales de Bash que debe conocer.