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.
- 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 and ls command
$ mkdir test && sleep 5 && ls
Here && 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.
We can provide delay parameter as minute by providing m postfix
$ sleep 1m
This will create 1 minute delay
Hours delay can be specified like below. Following example will wait for 1 hour before executing next command.
$ sleep 1h
And the last one day can be specified like below. 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.
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