Esta guía demuestra una línea para bucles en Bash.
Bash para bucle
La bash presenta múltiples tipos de bucle, para, mientras y hasta. Cada tipo de bucle viene con una estructura diferente. Sin embargo, los fundamentos siguen siendo los mismos. Para los principiantes, esta guía explica en profundidad sobre varios bucles bash y cómo implementarlos.
Como sugiere el título de esta guía, nuestro enfoque estará en el bucle. Mientras que el bucle generalmente requiere múltiples líneas, podemos representarlo en una sola línea si el bucle es bastante simple. Este proceso, sin embargo, requiere una comprensión de los fundamentos de BASH para un bucle.
Para ejecutar nuestros códigos BASH, necesitamos un script de shell. Ya tengo un script ficticio para ejecutar nuestros códigos.
$ Cat Dummy.mierdaPara la estructura de bucle
Esta es la estructura básica de la fiesta para bucle.
para en [lista]
hacer
hecho
Aquí hay un ejemplo rápido para el bucle implementando esta estructura.
para i en 1 ... 5
hacer
echo "Número: $ I"
hecho
Bash también es compatible con el estilo C para bucle. Si tiene antecedentes de programación en C, entonces C de estilo C será fácil de entender.
para ((; ; ))
hacer
hecho
Ponamos el estilo C para bucle en acción.
para ((i = 1; i <= 5; i++)); do
echo "Número: $ I"
hecho
Para bucle también puede funcionar con archivos. En el siguiente ejemplo, el bucle buscará todas las particiones en el disco "/dev/sda" e imprimirá todo.
para i in /dev /sda*; hacer
echo "$ i"
hecho
Una línea para bucle
Con los conceptos básicos cubiertos, ahora podemos comprimir para bucles en una sola línea. Básicamente, eliminaremos las nuevas líneas de todo el código de bucle para. También podemos ejecutar estos bucles directamente desde la línea de comando.
Comprimamos el primer ejemplo. Si eliminamos todas las nuevas líneas, el código se verá así.
$ para i en 1 ... 5; hacer eco "número: $ i"; hecho
Como puede ver, se eliminan todas las nuevas líneas. En cambio, esas nuevas líneas se reemplazan por semicolones (;).
Podemos hacer lo mismo con el estilo C para bucles.
$ para ((i = 1; i <= 5; i++)); do echo "number: $i"; done
Eche un vistazo al siguiente ejemplo. Todos los archivos de configuración dentro de “/etc."Se copiará como copia de seguridad del directorio" ~/copia de seguridad ".
$ para i in /etc /*.conf; hacer cp $ i/home/viktor/copia de seguridad; hecho
Para bucle con condicionales
En muchos casos, un bucle contendrá condicionales para tomar decisiones en varios puntos de la repetición.
Aquí, lo siguiente para bucle imprimirá todos los números uniformes dentro de un rango fijo.
para i en 1 ... 10; hacer
if [$ ((i%2)) -eq 0]; entonces
echo "$ yo incluso"
FI
hecho
Es posible expresar todo este bucle en una sola línea. Al igual que antes, reemplace toda la nueva línea con Semicolons (;).
$ para i en 1 ... 10; hacer si [$ ((i%2)) -eq 0]; Entonces hacer eco "$ I incluso"; fi; hecho
Se recomienda escribir el bucle con el espacio adecuado primero. Una vez que se confirma que el bucle funciona correctamente, podemos comprimirlo de forma segura en una sola línea.
Ejemplos diversos
Aquí hay un puñado de una línea para bucles de referencia.
$ para i en 1 2 3 4 5; hacer eco "número: $ i"; hecho
$ para I en CPU Motorboard Ram PSU GPU; hacer eco "parte de la computadora: $ i"; hecho
El siguiente ejemplo será de un bucle infinito.
$ para ((;;)); hacer eco "al infinito!"; hecho
Pensamiento final
Esta guía demuestra varias una línea efectiva para ejemplos de bucle. Es muy fácil transformar un bucle normal para una línea. Con suerte, después de practicar estos ejemplos, los lectores tendrán una buena idea de usar bash para bucle en una línea.
Computación feliz!