支持扩展{1 .. $ n}

时间:2018-05-20 05:30:38

标签: bash loops for-loop brace-expansion

我试图从1循环到n,其中n来自用户输入。 如果我这样做:

read n
echo {1..$n}

我得到输入5

的输出
{1..5}

如何将其扩展为

1 2 3 4 5

1 个答案:

答案 0 :(得分:1)

通过尝试使用for循环来保持简单。

echo "enter number..."
read n

for((i=1;i<=n;i++)); do
        echo "$i"
done

或者seq循环使用for,如下所示。

echo "Enter number:"
read howmany
for i in $(seq 1 $howmany); do
  echo "$i";
done

curly braces不支持bash中的变量,虽然可以使用eval但是 它是邪恶的 并且有漏洞,为什么这样看?仔细链接http://mywiki.wooledge.org/BashFAQ/048