Un bucle for es una de las declaraciones principales en varios lenguajes de programación y ayuda mucho a administrar su VPS. Aquí, explicaremos cómo se usa en el lenguaje de programación bash, de ahí el nombre, "bash for loop". ¡Prepárate para agregar una nueva herramienta a tu arsenal de desarrolladores!
Un bucle for es una declaración de iteración, lo que significa que puede ejecutar el código repetidamente. Digamos que desea ejecutar una instrucción 5 veces. En lugar de escribir cinco códigos separados, puede escribir una sintaxis de bucle for una vez. Exploremos más a fondo, ¿de acuerdo?
Sintaxis de Bash For Loop
Básicamente, la sintaxis de bucle for más simple repite la ocurrencia de un conjunto de una variable. La secuencia bash normalmente se ve así:
for VARIABLE in 1 2 3 4 5 .. N Perform the below command: command1 command2 commandN done
En el mundo real, esta sintaxis se parecería al siguiente ejemplo:
#!/bin/bash for i in 1 2 3 4 5 do echo "Hello $i" done
Ejecutar el archivo bash provocará la siguiente secuencia:
Hello 1 Hello 2 Hello 3 Hello 4 Hello 5
Inspeccionemos cada elemento:
- #!/bin/bash – muestra que el código es un script bash
- yo – es un marcador de posición para una variable. Por su parte, $i es el valor individual de la variable. También puede escribirlo como c/$c o por cualquier otro nombre
- en – separa la variable y los elementos que siguen
1 2 3 4 5 – es un ejemplo de elementos en los que desea realizar la instrucción- hacer – es la palabra clave que inicia los bucles. Luego ejecutará la instrucción n veces, siendo n el número total de elementos. Aquí, el valor de n es 5
- eco "Hola:$i" – es el código que repetiremos n veces. Recuerde que las comillas convierten cualquier cosa dentro de ellas en una variable.
- hecho – detiene el bucle
Puede escribir el código de manera diferente según la versión de bash que esté ejecutando:
Bash versión 3.0+ puede acortar el rango con “.. ”.
#!/bin/bash for i in {1..5} do echo "Hai $i" done
Bash versión 4.0+ le permite usar el {START..END..INCREMENT} sintaxis.
#!/bin/bash for i in {0..8..2} do echo "Hai $i" done
El resultado de esta secuencia bash se verá así:
Hai 0 Hai 2 Hai 4 Hai 6 Hai 8
Las otras sintaxis comunes de dos comandos de bucle son las siguientes:
for VARIABLE in file1 file2 file3 do command1 on $VARIABLE command2 commandN done
Y esto:
for OUTPUT in $(Linux-Or-Unix-Command-Here) do command1 on $OUTPUT command2 on $OUTPUT commandN done
Ejemplos de Bash For Loop
Puede actualizar la sintaxis para realizar varias operaciones. Recuerda, antes de hacer nada tendrás que iniciar sesión en tu VPS. Si tiene problemas, este tutorial de Putty SSH lo pondrá en el camino correcto. Mientras tanto, si tiene problemas con bash, debe consultar nuestra guía de la función básica de bash. Recuerde, las funciones de bash deben estar en un .sh expediente. Para crear uno, ejecute lo siguiente en la línea de comando:
vim NameOfFile.sh
Esto creará un archivo .sh y lo abrirá en el editor VIM. Puede obtener más información en el artículo sobre la función bash básica mencionado anteriormente.
Uso de Bash For Loop para crear un bucle infinito
Una vez activado, este ciclo seguirá ejecutando el código hasta que lo detengas presionando Control + C. En este caso, el término “Hello World” seguirá apareciendo solo.
#!/bin/bash for (( ; ; )) do echo "Hello World!" done
Uso de Bash For Loop para crear un bucle de tres expresiones
El bucle se compone de tres expresiones de escritura:un inicializador (EXP1 ), una condición (EXP2 ), y una expresión de conteo (EXP3 ). A veces, la gente lo llama el ciclo de estilo C debido a la gran similitud en la estructura del código. La sintaxis de este bucle es la siguiente:
for (( EXP1; EXP2; EXP3 )) do command1 command2 command3 done
Aquí hay un comando de bucle de ejemplo que puede probar usted mismo:
#!/bin/bash for (( c=1; c<=5; c++ )) do echo "Hai $c" done
El código dice que el valor inicial es 1 . El bucle se ejecutará, siempre que se cumpla la condición en EXP2 es cierto, lo que significa que no debe ser mayor que 5 . Además, el ++ el signo muestra que el incremento es 1 . A continuación, repetirá el bucle uno por uno a partir del valor inicial. Resultado:
Hai 1 Hai 2 Hai 3 Hai 4 Hai 5
Uso de Bash for Loop para crear el bucle Skip and Continue
La declaración de continuación salta el bucle por el valor indicado y continúa el bucle después. Así es como se vería la sintaxis:
for I in 1 2 3 4 5 do if [condition] then continue #Go to next iteration of I in the loop and skip statements3 fi statement done
Siguiendo la sintaxis, podemos crear un comando bash skip y continue loop como este:
for i in {1..5} do if [[ "$i" == '4' ]] then continue fi echo "Hai $i4" done
El resultado de esta secuencia bash sería:
Hai 1 Hai 2 Hai 3 Hai 5
Dado que el valor 4 coincidió con la declaración de continuación, el ciclo no ejecutó el código y pasó al siguiente valor, que es 5 .
Uso de Bash for Loop para crear una salida condicional con Break Loop
El bucle le permite detener la operación si cumple la condición establecida. Esto puede ir seguido de otra instrucción. Aquí está la sintaxis:
for I in 1 2 3 4 5 do if [condition] then break fi statement done
Al usar esta función, nuestro comando de bucle se vería así:
for city in Manila Bangkok Jakarta Kuala Lumpur do if [[ "$city" == 'Jakarta' ]]; then break fi echo "city: $city" done echo 'Yes, that’s all!'
Y la salida:
city: Manila city: Bangkok Yes, that’s all!
La declaración le dice al ciclo que interrumpa la operación una vez que la condición sea verdadera (encontrando el término Jakarta ). Luego ejecutará el segundo código, que está imprimiendo un texto que dice Sí, eso es todo.
Conclusión
Bash for loop es excelente para automatizar tareas repetitivas. Además de los ejemplos básicos anteriores, puede hacer mucho más. Por ejemplo, puede rastrear archivos y realizar muchas otras tareas. ¡La lista continúa!
Todo lo que necesita hacer es escribir los comandos de bucle. Puede ser una curva de aprendizaje, pero leer esta introducción es un buen comienzo. ¡La práctica siempre hace al maestro! ¡Buena suerte!