Writing a bash for-loop with a variable top-end Writing a bash for-loop with a variable top-end unix unix

Writing a bash for-loop with a variable top-end


You can use for loop like this to iterate with a variable $TOP:

for ((i=1; i<=$TOP; i++))do   echo $i   # rest of your codedone


If you have a gnu system, you can use seq to generate various sequences, including this.

for i in $(seq $TOP); do    ...done


Answer is partly there : see Example 11-12. A C-style for loop.

Here is a summary from there, but be aware the final answer to your question depends on your bash interpreter (/bin/bash --version):

# Standard syntax.for a in 1 2 3 4 5 6 7 8 9 10# Using "seq" ...for a in `seq 10`# Using brace expansion ...# Bash, version 3+.for a in {1..10}# Using C-like syntax.LIMIT=10for ((a=1; a <= LIMIT ; a++))  # Double parentheses, and "LIMIT" with no "$".# another examplelines=$(cat $file_name | wc -l)for i in `seq 1 "$lines"`# An another more advanced example: looping up to the last element count of an array :for element in $(seq 1 ${#my_array[@]})