Como uso uma variável para construir uma sequência?

Como uso uma variável para construir uma sequência?

Isso, é claro, funciona:

$ echo {1..5}
1 2 3 4 5

Mas quando tento substituir o número 5por uma variável, isso não funciona mais:

$ f=5; echo {1..$f}
{1..5}

$ f=5; echo {1..${f}}
{1..5}

$ f=5; echo {1..f}
{1..f}

Existe uma maneira de substituir o número dentro de uma variável antes que a {#..#}construção seja analisada?

Responder1

Há uma maneira:

:~# f=5 ; eval echo {1..$f}
1 2 3 4 5

Alternativa:

:~# f=5 ; echo `seq 1 $f`
1 2 3 4 5

informação relacionada