Often you may want to use Bash to generate a sequence of numbers.
The easiest way to do so is by using the sequence expression, which uses the following syntax:
{start..end..increment}
where:
- start: The starting value
- end: The ending value
- step: Number to increment by (if not specified, then default is 1)
There are three common ways to use this syntax in practice:
Method 1: Generate Sequence of Numbers in Ascending Order
echo {0..10}
This particular example will return the numbers 1 through 10 in ascending order.
Method 2: Generate Sequence of Numbers in Descending Order
echo {10..0}
This particular example will return the numbers 10 through 1 in descending order.
Method 3: Generate Sequence of Numbers with Specific Step
echo {0..10..2}
This particular example will return the numbers 1 through 10, using a step value of 2.
The following examples show how to use each of these methods in practice.
Example 1: Generate Sequence of Numbers in Ascending Order Using Bash
We can use the following syntax in Bash to generate a sequence of numbers ranging from 0 to 10 in ascending order:
echo {0..10}
The following screenshot shows how to use this syntax in practice:

Notice that this produces a sequence of numbers ranging from 0 to 10.
Since we didn’t specify a value for the step argument, a default value of 1 was used.
Example 2: Generate Sequence of Numbers in Descending Order Using Bash
We can use the following syntax in Bash to generate a sequence of numbers ranging from 10 to 0 in descending order:
echo {10..0}
The following screenshot shows how to use this syntax in practice:

Notice that this produces a sequence of numbers ranging from 10 to 0.
Since we didn’t specify a value for the step argument, a default value of 1 was used.
Example 3: Generate Sequence of Numbers with Specific Step Using Bash
We can use the following syntax in Bash to generate a sequence of numbers ranging from 0 to 10 using a step value of 2:
echo {0..10..2}
The following screenshot shows how to use this syntax in practice:

Notice that this produces a sequence of numbers ranging from 0 to 10 with a step value of 2.
Related Tutorials
The following tutorials explain how to perform other common tasks in Bash:
Bash: How to Generate Random Number in Range
Bash: How to Extract First Number from a String
Bash: How to Count Number of Characters in String
