Bash 使用变量在嵌套for循环中定义计数器

Bash 使用变量在嵌套for循环中定义计数器,bash,for-loop,Bash,For Loop,我不熟悉bash脚本。 我尝试在嵌套for循环中为计数器使用变量,如下所示: dir_count=$(find dump_${d}/* -maxdepth 0 -type d | wc -l) count_by=11 for ((i=0;i<=$dir_count;i+=$count_by)) do ((start=$i+1)) ((end=$count_by+$i)) echo $start $end for dir in {$start..$end}

我不熟悉bash脚本。 我尝试在嵌套for循环中为计数器使用变量,如下所示:

dir_count=$(find dump_${d}/* -maxdepth 0 -type d | wc -l)
count_by=11

for ((i=0;i<=$dir_count;i+=$count_by))
do
    ((start=$i+1))
    ((end=$count_by+$i))
    echo  $start $end
    for dir in {$start..$end}
        echo $dir
    done
done
1,11,12,22,23,33在我看来都像整数!可以输入变量吗?我以为不是

谢谢

bash
中,大括号扩展将在变量扩展之前进行,因此您的代码

for dir in {$start..$end}
永远不会做它应该做的事;在
bash
中使用适当的循环,并使用C样式作为循环

for ((dir=start; dir<=end; dir++)); do
    echo "$dir"
done
((dir=start;dir)的

for ((dir=start; dir<=end; dir++)); do
    echo "$dir"
done