Rangos en Bash
-
Utilice el bucle
for
para obtener rango en Bash -
Utilice el bucle
for
con tres expresiones para obtener rango en Bash -
Utilice el bucle
while
para obtener rango en Bash -
Utilice
eval
para obtener rango en Bash -
Utilice
seq
para obtener rango en Bash
Este tutorial demuestra la iteración a través de un rango de enteros en bash con el bucle for
y el bucle while
.
Utilice el bucle for
para obtener rango en Bash
El siguiente script bash usa un bucle for
con expansión de llaves para recorrer un rango de números. Los números dentro de las llaves se incrementan secuencialmente.
#!/bin/bash
printf "Print Numbers from 0 to 5\n"
for x in {0..5}
do
printf "number:$x\n"
done
Producción :
Print Numbers from 0 to 5
number:0
number:1
number:2
number:3
number:4
number:5
Utilice el bucle for
con tres expresiones para obtener rango en Bash
El script utiliza un bucle for
con una expresión de tres como en el lenguaje C. Aquí, expr1
es la inicialización, expr2
es la condición y expr3
es el incremento.
En nuestro caso, x
se inicializa a 0
, x
se prueba si es menor o igual a 5
y por último, x
se incrementa en 1
.
#!/bin/bash
max=5
printf "Print Numbers from 0 to $max\n"
for ((x=0;x<=max;x++)); do
printf "number: $x\n"
done
Producción :
Print Numbers from 0 to 5
number: 0
number: 1
number: 2
number: 3
number: 4
number: 5
Utilice el bucle while
para obtener rango en Bash
Utiliza un bucle while
con un operador de comparación binario, -le
, que se utiliza para la comparación de valores aritméticos.
En nuestro caso, el bucle while se ejecuta siempre que x
sea menor o igual que la variable $max
.
#!/bin/bash
x=0
max=5
printf "Print numbers from $x to $max\n"
while [ $x -le $max ]; do
printf "number: $x\n"
x=$(($x+1))
done
Producción :
Print numbers from 0 to 5
number: 0
number: 1
number: 2
number: 3
number: 4
number: 5
Utilice eval
para obtener rango en Bash
eval
es un comando bash usado para ejecutar argumentos como comandos de shell. En el siguiente script, las llaves generan números desde 0
a$max
en incrementos de 1
, el bucle for
itera sobre estos números y el comando printf
los muestra.
#!/bin/bash
max=4
printf "Print Numbers from 0 to $max\n"
for x in `eval echo {0..$max}`
do
printf "number: $x\n"
done
Producción :
Print Numbers from 0 to 4
number: 0
number: 1
number: 2
number: 3
number: 4
Utilice seq
para obtener rango en Bash
seq
es un comando de bash que se utiliza para generar números desde el inicio hasta el final en pasos de incremento.
En nuestro caso, seq
genera números de x
a $max
en incrementos de 1
. El bucle for
itera sobre estos números, y el comando printf
se usa para mostrarlos.
x=0
max=5
printf "Print numbers from $x to $max\n"
for x in $(seq $x $max)
do
printf "number: $x\n"
done
Producción :
Print numbers from 0 to 5
number: 0
number: 1
number: 2
number: 3
number: 4
number: 5