Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
n=5 for i in {1..$[n]} do echo $i done
它给:
{1..5}
但我认为它应该输出:
1 2 3 4 5
为什么它会给出如此奇怪的输出?
这几乎是一个谜。大括号的扩展是在变量扩展之前完成的。bash 初学者指南有一些关于扩展的很好的细节。 在 bash 中有很多方法可以做到这一点。你可以从:
n=5 for i in $(eval echo {1..$n}) do echo $i done