📅  最后修改于: 2020-12-08 03:19:09             🧑  作者: Mango
Linux sleep命令可让终端等待指定的时间。默认情况下,它需要几秒钟的时间。但是,我们可以将延迟时间设置为分钟(m),小时(h)和天(d)。它有助于在固定的时间内暂停执行任何特定命令。
sleep NUMBER[SUFFIX]...
sleep OPTION
后缀可以分别是“ s”,“ m”,“ h”,“ d”,分别表示秒,分钟,小时或天。并且,该数字是整数。同样,该数字可以是浮点数。如果我们指定了两个参数,则它将在终端上暂停该数字时间的总和。
sleep命令仅支持两个命令行选项,如下所示:
–help:用于显示帮助手册。
–version:用于显示版本信息。
让我们看一下以下sleep命令示例:
默认的sleep命令将花费几秒钟的时间。考虑以下命令:
sleep 5
上面的命令将使终端暂停5秒钟。考虑以下输出:
要以分钟为单位指定时间,请使用带有时间的'm'参数。它会将终端暂停指定的时间(以分钟为单位)。考虑以下命令:
sleep 0.05m
上面的命令将在指定时间内暂停终端。考虑以下输出:
要以小时为单位指定时间,请在时间中使用'h'参数。它将使终端暂停给定的时间。考虑以下命令:
sleep 0.002h
上面的命令将在指定时间内暂停终端。考虑以下输出:
要以天为单位指定时间,请在时间中使用'd'参数。它将使终端暂停给定的时间。但是,将终端暂停数天是没有用的。考虑以下命令:
sleep 0.0005d
上面的命令将在指定的时间内暂停终端。考虑以下输出:
要退出睡眠模式,请按“ CTRL + C”键。即使终端处于睡眠模式,此键组合也确实存在。它将立即使您退出睡眠模式。
如果要在指定的时间内设置提醒。我们也可以通过使用sleep命令来做到这一点。为此,请以指定的时间量和音频或视频文件执行sleep命令。考虑以下命令:
sleep 5; rhythmbox sound.mp3
执行命令后,上述命令将立即用Rhythmbox播放指定的音频文件。
sleep命令可用于多种用途。而且,它可以与循环一起使用。例如,n的初始值= 1,我们想对n的每个递增值执行睡眠操作。为此,执行以下脚本:
n=1
while [ $n -lt 7 ]
do
echo "Current value of n is = $n"
sleep 2s
echo " "
((n=$n+1))
done
上面的脚本将在循环中执行sleep命令。考虑以下输出:
假设我们要在固定的时间间隔后执行两个命令。我们可以通过执行以下睡眠命令来做到这一点:
pwd && sleep 2 && ls
上面的命令将显示当前的工作目录,两秒钟后,它将显示目录列表。考虑以下输出: