如何使用变量来构造序列?

如何使用变量来构造序列?

这当然有效:

$ 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

相关内容