Как использовать переменную для построения последовательности?

Как использовать переменную для построения последовательности?

Это, конечно, работает:

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

Но когда я пытаюсь заменить число 5переменной, это больше не работает:

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

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

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

Есть ли способ подставить число в переменную до того, как {#..#}конструкция будет проанализирована?

решение1

Есть выход:

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

Альтернатива:

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

Связанный контент