Sleep is a function provided by bash shell to pause execution of commands. Using sleep function will make delay according to provided time values. There is also library support for sleep function in Linux environments. Simple usage of sleep function is like below.
Syntax of the
sleep function is very easy. We will just provide
DELAY value to the function.
- DELAY is the time in seconds to wait but also minute hour or days can be specified related suffix which we will examine below.
Delay For 5 Seconds
We will create a simple 5 seconds delay between
$ mkdir test && sleep 5 && ls
Here && provides sequential execution.
We can also use this expression in a script line by line like below
#!/bin/bash mkdir sleep 5 ls
By default is given delay parameter to the sleep, the function is interpreted as seconds but we can change the interpretation by providing.
Sleep Specified Minutes
We can provide a delay parameter as minute by providing
mpostfix. In this example, we will create a 1-minute delay
$ sleep 1m
Sleep Specified Hours
Hours delay can be specified like below. We will use
h as a prefix. The following example will wait for 1 hour before executing the next command.
$ sleep 1h
Sleep Specified Days
And the last day can be specified like below. We will use
d as the prefix to specify the day. Following the example, the command will wait for 1 day.
$ sleep 1d
Multiple Duration Expressions
Up to now, we have looked single duration specification but sleep supports multiple duration specification. We can specify multiple values for sleep like 1 day 5 hours like below.
$ sleep 1d 5h
sleep .5 # Waits 0.5 second. sleep 5 # Waits 5 seconds. sleep 5s # Waits 5 seconds. sleep 5m # Waits 5 minutes. sleep 5h # Waits 5 hours. sleep 5d # Waits 5 days.
Example Sleep Script
This is an example script that can be used for different purposes. Create filename
sleepexample.sh and add the following lines.
#!/bin/bash echo "I will sleep for 10 seconds"; sleep 10; echo "I waked up after sleeping 10 seconds";