Linux: Repeat Command N Times – Bash FOR Loop

Sometimes you might need to run some command from the Linux command line and repeat it several times.

There is a simple way to write a command once and have it executed N times using Bash loop FOR.

In this short note you’ll find how to execute some command a number of times in a row.

The best way to run a command N times is to use loop FOR in Bash.

Cool Tip: The same loop can be used for a mass mail sending! Send bulk emails from the Linux command line to test your mail server! Read more →

Repeat a Command Multiple Times in Linux

Use the following syntax to run some command 5 times:

for n in {1..5}; do <COMMAND>; done

Let’s help Bart Simpson to fill a chalkboard:

$ for n in {1..5}; do echo "I WILL NOT SKATEBOARD IN THE HALLS"; done
I WILL NOT SKATEBOARD IN THE HALLS
I WILL NOT SKATEBOARD IN THE HALLS
I WILL NOT SKATEBOARD IN THE HALLS
I WILL NOT SKATEBOARD IN THE HALLS
I WILL NOT SKATEBOARD IN THE HALLS

Cool Tip: Run commands on a remote Linux server over SSH and get the results locally! Read more →

If you often need to use such construction from the Linux command line, you can create the following Bash function (add to your ~/.bashrc):

function run() {
    number=$1
    shift
    for n in $(seq $number); do
      $@
    done
}

Usage:

$ run 5 <COMMAND>

Cool Tip: Every Linux administrator must know how to read a file line by line with a Bash WHILE loop! Read more →

Example:

$ run 5 echo "I WILL NOT SKATEBOARD IN THE HALLS"
I WILL NOT SKATEBOARD IN THE HALLS
I WILL NOT SKATEBOARD IN THE HALLS
I WILL NOT SKATEBOARD IN THE HALLS
I WILL NOT SKATEBOARD IN THE HALLS
I WILL NOT SKATEBOARD IN THE HALLS