Wie verwende ich eine Variable zum Erstellen einer Sequenz?

Wie verwende ich eine Variable zum Erstellen einer Sequenz?

Das funktioniert natürlich:

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

Wenn ich aber versuche, die Zahl 5durch eine Variable zu ersetzen, funktioniert dies nicht mehr:

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

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

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

Gibt es eine Möglichkeit, die Zahl innerhalb einer Variablen zu ersetzen, bevor die {#..#}Konstruktion analysiert wird?

Antwort1

Da ist ein Weg:

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

Alternative:

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

verwandte Informationen