Bash Sleep In Linux
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 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 simple 5 seconds delay between
$ mkdir test && sleep 5 && ls
<strong>&& provides sequential execution.
We can also use this expression in a script line by line like below
By default given delay parameter to the sleep function is interpreted as seconds but we can change the interpretation by providing.
Sleep Specified Minutes
We can provide delay parameter as minute by providing
mpostfix. In this example we will create 1 minute delay
$ sleep 1m
Sleep Specified Hours
Hours delay can be specified like below. We will use
h as prefix. Following example will wait for 1 hour before executing next command.
$ sleep 1h
Sleep Specified Days
And the last one day can be specified like below. We will use
d as prefix to specify day. Following example 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 following lines
echo "I will sleep for 10 seconds";
echo "I waked up after sleeping 10 seconds";
Make script executable with
$ chmod u+x sleepexample.sh