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.
睡眠是bash shell提供的用于暂停命令执行的功能。 使用睡眠功能将根据提供的时间值进行延迟。 Linux环境中还对睡眠功能提供了库支持。 睡眠功能的简单用法如下。
句法 (Syntax)
Syntax of the sleep
function is very easy. We will just provide DELAY
value to the function.
sleep
功能的语法非常简单。 我们将只为函数提供DELAY
值。
sleep DELAY
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是等待的时间(以秒为单位),但也可以指定分钟数或天数相关的后缀,我们将在下面检查。
延迟5秒 (Delay For 5 Seconds)
We will create a simple 5 seconds delay between mkdir
and ls
command
我们将在mkdir
和ls
命令之间创建一个简单的5秒延迟
$ 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.
默认情况下,为睡眠提供了delay参数,该函数被解释为秒,但是我们可以通过提供来更改解释。
睡眠指定分钟 (Sleep Specified Minutes)
We can provide a delay parameter as minute by providing m
postfix. In this example, we will create a 1-minute delay
我们可以通过提供m
后缀来提供延迟参数(以分钟为单位)。 在此示例中,我们将创建1分钟的延迟
$ 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.
延迟时间可以如下指定。 我们将使用h
作为前缀。 以下示例将等待1个小时,然后执行下一条命令。
$ 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.
最后一天可以指定如下。 我们将使用d
作为前缀来指定日期。 按照示例,该命令将等待1天。
$ 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.
到目前为止,我们已经查看了单个持续时间规范,但是睡眠支持多个持续时间规范。 我们可以为多个睡眠时间指定多个值,例如1天5小时,如下所示。
$ sleep 1d 5h
睡眠例子 (Sleep Examples)
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.
这是一个示例脚本,可用于不同目的。 创建文件名sleepexample.sh
并添加以下行。
#!/bin/bash
echo "I will sleep for 10 seconds";
sleep 10;
echo "I waked up after sleeping 10 seconds";