有人可以解释一下为什么下面的代码
for i in {1..5};do
echo "hello"
done
印刷
hello
hello
hello
hello
hello
但以下
num=5
for i in {1..$num};do
echo "hello"
done
印刷
hello
答案1
这是因为大括号扩展发生在变量扩展之前。
您可以使用seq
:
num=5
for i in $(seq 1 $num) ; do
echo hello
done