How do I iterate over a range of numbers defined by variables in Bash?
Asked 07 September, 2021
Viewed 1.7K times
  • 58
Votes

How do I iterate over a range of numbers in Bash when the range is given by a variable?

I know I can do this (called "sequence expression" in the Bash documentation):

 for i in {1..5}; do echo $i; done

Which gives:


  

1
2
3
4
5

Yet, how can I replace either of the range endpoints with a variable? This doesn't work:

END=5
for i in {1..$END}; do echo $i; done

Which prints:


  

{1..5}

20 Answer