How To

Bash Range And Sequence Expression Explained With Examples

Introduction

Bash range and sequence expressions are useful when you want to generate a list of numbers or characters automatically. Instead of writing values one by one, you can use a short Bash syntax to create a sequence. This is very helpful in Bash scripting, especially when working with loops, file names, backups, automation tasks, and cybersecurity scripts.

If you are learning Bash scripting, understanding range expressions will help you write shorter and cleaner scripts. You can use them to count numbers, repeat tasks, create multiple files, scan IP addresses, or process numbered logs.

What Is A Bash Range?

A Bash range is a sequence of numbers or letters written inside curly braces {}.

Basic syntax:

{start..end}

Example:

echo {1..5}

Output:

1 2 3 4 5

This command prints numbers from 1 to 5.

Bash Number Range Example

Create a Bash script:

nano range-example.sh

Add the following code:

#!/bin/bashfor number in {1..5}do    echo "Number: $number"done

Save and run the script:

chmod +x range-example.sh./range-example.sh

Output:

Number: 1Number: 2Number: 3Number: 4Number: 5

This is useful when you want to repeat a command for a fixed number of times.

Bash Alphabet Range Example

Bash can also create letter ranges.

#!/bin/bashfor letter in {a..e}do    echo "Letter: $letter"done

Output:

Letter: aLetter: bLetter: cLetter: dLetter: e

You can also use uppercase letters:

echo {A..Z}

Bash Range With Step Value

You can use a step value to skip numbers.

Syntax:

{start..end..step}

Example:

echo {1..10..2}

Output:

1 3 5 7 9

This prints numbers from 1 to 10 with a step of 2.

Another example:

#!/bin/bashfor number in {2..10..2}do    echo "Even number: $number"done

Create Multiple Files Using Bash Range

Range expressions are useful for creating multiple files quickly.

touch file{1..5}.txt

This creates:

file1.txt file2.txt file3.txt file4.txt file5.txt

You can check them using:

ls file*.txt

Cybersecurity Example: Ping Multiple IP Addresses

You can use Bash range expressions to test multiple IP addresses.

#!/bin/bashfor ip in 192.168.1.{1..5}do    echo "Checking $ip"    ping -c 1 "$ip"done

This script pings IP addresses from 192.168.1.1 to 192.168.1.5.

Conclusion

Bash range and sequence expressions are simple but powerful. They help you generate numbers, letters, file names, and IP ranges quickly. They are commonly used with for loops in Bash scripts.

For beginners, learning Bash range syntax is important because it makes scripts shorter, cleaner, and easier to manage. You can use it for Linux automation, file creation, backups, network checks, and cybersecurity scripting.

Cyber Defence

Recent Posts

groupdel Command in Linux: Remove a Group and Audit Files

The groupdel command in Linux removes a group from the system. It deletes the group's entry from /etc/group and /etc/gshadow,…

3 hours ago

wc Command in Linux: Count Lines, Words, Characters, and Bytes

The wc command in Linux counts lines, words, characters, and bytes in files or standard input. It…

3 hours ago

top Command in Linux: Monitor Processes and Resource Usage

The top command in Linux provides a real-time view of running processes and system resource usage. From…

3 hours ago

usermod Command in Linux: Modify User Accounts and Groups

The usermod command in Linux modifies existing user account attributes. You can use it to manage group…

4 hours ago

sort Command in Linux: Sort Text, Numbers, Columns, and More

The sort command in Linux reads lines from files or standard input and writes them to standard…

1 day ago

wall Command in Linux: Broadcast Messages to Logged-In Users

The wall command in Linux sends a message to the terminals of all currently logged-in users. The…

1 day ago