sleep
是一个在 Unix 和 Linux 系统中非常基础且功能强大的命令行工具,它允许用户让当前 shell 或脚本暂停执行指定的时间间隔。这个命令广泛应用于批处理脚本、自动化任务或定时任务中,用来引入延迟,控制程序的执行节奏,或者等待特定事件的发生。
功能与作用
- 暂停执行:
sleep
的主要用途是在脚本或命令行中暂停执行一段时间。 - 时间单位支持:可以指定秒(默认)、分钟 (
m
)、小时 (h
) 甚至天数 (d
) 作为参数。 - 轻量级进程:
sleep
创建的进程消耗极少的系统资源,在等待期间几乎不占用 CPU 时间。 - 信号处理:
sleep
进程可以被中断信号(如SIGINT
或SIGTERM
)唤醒,提前结束睡眠。
使用方法
基本语法
sleep [选项] 秒数
- 选项:可选参数,用来调整
sleep
的行为。 - 秒数:指定要暂停的秒数。可以是整数或浮点数,并且可以跟随时间单位(s, m, h, d)来表示不同的时间长度。
示例
-
暂停 5 秒钟:
sleep 5
-
暂停 30 分钟:
sleep 30m
-
暂停 2 小时:
sleep 2h
-
暂停 1 天:
sleep 1d
-
使用浮点数指定更精确的时间间隔(例如 0.5 秒):
sleep 0.5
应用实例
示例 1:简单定时器
echo "等待5秒后打印消息..."
sleep 5
echo "时间到了!"
这段脚本将等待5秒钟,然后打印一条消息。
示例 2:循环中的暂停
for i in {
1..5}; do
echo "当前是第 $i 次迭代"
sleep 2
done