The Sequence Expression is used to create a range of characters and integers by defining a start and endpoint. Usually, the Bash Sequence Expression is used with For Loops.
The syntax of Sequence Expression is:
{START..END[..INCREMENT]}
Here the start and end values are mandatory and can be either characters or integers. Next, the increment value is optional and if we use it then it must be separated from the End value with two dots. If we do not use an increment value then the default value would be 1.
Sequence Expression Examples in Bash
Let’s take some examples of printing the sequence values in bash shell. We also include examples of defining range with loops in shell scripting.
- Let’s begin with simple example. Open a terminal and execute:
echo {0..5}
Output0 1 2 3 4 5 - You can also use the alphabets in a range.
echo {a..e}
Outputa b c d e -
If the Start value is greater than the End value then there will be a decrement in the range.
for i in {5..0} do echo “No: $i” done
OutputNo: 5 No: 4 No: 3 No: 2 No: 1 - You can overwrite the default increment value (1) with custom value. Set the increment value to 5 instead of default value, write the syntax like:
for i in {0..20..5} do echo “No: $i” done
OutputNo: 0 No: 5 No: 10 No: 15 No: 20 - We can also prefix and suffix the expression with other values.
echo A{0..5}B
OutputA0B A1B A2B A3B A4B A5B - You can also add a leading 0 in front of each integer to make them of the same length.
for i in {00..5} do echo "No: $i" done
OutputNo: 00 No: 01 No: 02 No: 03 No: 04 No: 05 - We can also use seq Command to print a sequence. For example:
seq 1 5
Output1 2 3 4 5 - You can also define the default increment value with the seq command. The increment value is defined in the middle of start and end value. For example:
seq 1 2 10
Output1 3 5 7 9 echo "Even Numbers:" $(seq 0 2 10)
OutputEven Numbers: 0 2 4 6 8 10
Conclusion
In this tutorial, You have learned to create or print the sequences in bash shell. It also helped you to define a specific range with loops.