在本教程中,我们将学习 Linux 中的 sleep 命令。 在与 bash Linux 系统上的脚本,某些情况下可能需要您延迟脚本的执行。 在这种情况下,您需要使用 sleep 命令。 本教程将帮助您了解和学习在 Linux 中使用 sleep 命令暂停脚本。
目录
Linux中sleep命令的基本用法
程序员在工作 bash 脚本通常使用 Linux 中的 sleep 命令。 顾名思义,sleep 命令告诉处理器休息一下。 这会导致下一个命令的执行延迟指定的持续时间。
sleep命令的语法如下:
sleep n[suffix]
这里,“n”指定在执行下一个命令之前需要经过的所述时间间隔的数量,而“后缀”指定时间间隔。 当我们在 Linux 中使用 sleep 命令暂停脚本时,它允许使用四种不同的后缀。 他们是:
- s:将时间间隔设置为秒
- 米:设置时间间隔为分钟
- H:将时间间隔设置为小时
- d:将时间间隔设置为天
默认情况下,sleep 命令将时间间隔设置为秒。 如果我们在Linux中使用sleep命令暂停脚本时不加后缀,N秒后会执行下一条命令。 当您在单个 sleep 命令中使用两个或多个后缀时,执行下一个命令之前的延迟等于指定时间值的总和。
在 Linux 中使用 sleep 命令暂停脚本
上一节教我们什么是 sleep 命令,它的语法是什么,后缀的含义是什么。 现在是时候在我们的脚本中使用它了。 让我们在示例的帮助下讨论每个的基础知识。
睡眠’n’秒
有时您只需要暂停脚本一小段时间。 假设您希望将脚本暂停 10 秒。 这可以使用“s”后缀来完成。 您的睡眠声明应如下所示:
sleep 10s
或者,您可以决定不在命令中提及后缀。 笔记 这仅在我们处理一些“秒”的睡眠时才有效。 此异常有效,因为“s”是 sleep 命令的默认后缀。 一个 example 其中是:
sleep 10
使用 Linux sleep 命令睡眠几小时、几分钟和几天
在处理每次执行之间需要较长时间间隔的任务时,您需要在每个数字后指定后缀。
sleep 10m # for 10 minutes sleep 10h # for 10 hours sleep 1d # for 1 day
在 Linux 中使用 sleep 命令时组合时间变量
在 Linux 中使用 sleep 命令时,您不必一次只使用一个后缀。 如果您愿意,您可以同时使用两个甚至所有后缀。 暂停脚本的总时间将等于每个后缀值的总和。 这将如下所示:
sleep 6d 9h 4m 1s
此 sleep 命令将暂停脚本 6 天 9 小时 4 分 1 秒。 即使在这种情况下,添加后缀“s”也是可选的。
以分数分割时间 – 使用浮点整数
后缀前的数字不必是整数。 sleep 命令允许在后缀之前使用浮点数。 这意味着即使最小的后缀代表一秒,我们也可以在 Linux 中使用 sleep 命令将脚本暂停不到一秒。
以下是在 Linux 中使用 sleep 命令暂停脚本十分之一秒的方法:
sleep 0.1s
此外,您还可以在任何后缀前使用浮点数,这使我们可以轻松地指定我们需要在 Linux 中的 sleep 命令中写入暂停脚本的时间量。 一个 example 是:
sleep 1.5h
此命令将暂停脚本 1 小时 30 分钟。
如何在 Linux Shell 脚本中使用 Sleep 命令?
我们看到了如何在 Linux 中使用 sleep 命令将脚本暂停一段指定的时间。 但是当我们在一个 bash 脚本? 这是一个 example 我们看到 sleep 命令在起作用。
首先,我们创建一个简单的 bash 使用 sleep 命令包含 10 秒暂停的脚本。 它应该是这样的:
#!/bin/bash echo "Break time!!" sleep 10s echo "Back to work!"
当我们使用 time 命令查找脚本执行所花费的时间时,我们看到它运行的时间略长于 10s 的延迟时间。 额外的时间只是脚本执行的时间,没有延迟。
结论
本教程旨在帮助您了解 Linux sleep 命令的工作原理以及如何使用此命令暂停脚本。 我们希望您现在了解如何在 Linux 中使用 sleep 命令。 是时候亲自尝试一下了。 如果您想了解有关 shell 脚本的更多信息,请从我们的 shell 脚本 101 系列开始。