Recorrer con for un rango con variables

Si intentamos ejecutar un for con un rango entre llaves y que el valor del comienzo, del final y/o del paso estén en una variable de esta manera:

#!/bin/bash
beginning=0
final=10
for i in {$beginning..$final}
do
    echo $i
done

nos devolverá:

{0..10}

pero no recorrerá el rango. Debemos evaluar el rango con:

#!/bin/bash
beginning=0
final=10
for i in $(eval echo "{$beginning..$final}")
do
    echo $i
done

que sí que nos devolverá:

0
1
2
3
4
5
6
7
8
9
10

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada.