Linux Sleep暂停Bash脚本
Sleep是一个命令,可让您在指定的时间中挂起调用的进程。换句话说,sleep命令将下一条命令的执行之前暂停指定的秒数
Sleep是一个命令,可让您在指定的时间中挂起调用的进程。换句话说,sleep命令将下一条命令的执行之前暂停指定的秒数。
当在bash shell脚本中使用时,例如,重试失败的操作或在循环内,sleep特别有用。在本教程中,我们将向您展示如何使用Linux sleep命令。
sleep命令的语法基本形式是sleep NUMBER [SUFFIX]...
。NUMBER
可以是正整数或浮点数。SUFFIX
可能是下列之一。
默认单位是秒s
。也可以是分钟m
。或者小时h
。还可以是天d
。如果不使用后缀,则默认为秒。指定两个或多个参数时,总时间等于其值的总和
这是是一些简单的示例,演示了如何使用sleep命令。睡眠5秒sleep 5
。睡眠0.5秒sleep 0.5
。睡眠2分30秒sleep 2m 30s
。
以下是如何在Bash脚本中使用sleep命令的最基本示例。运行脚本时,它将以格式显示当前时间HH:MM:SS
。
然后sleep将脚本暂停5秒钟。经过指定的时间段后,脚本的最后一行将再次打印当前时间。
#!/bin/bash
# start time
date +"%H:%M:%S"
# sleep for 5 seconds
sleep 5
# end time
date +"%H:%M:%S"
让我们看一个更高级的例子。
#!/bin/bash
while :
do
if ping -c 1 ip_address &> /dev/null
then
echo "Host is online"
break
fi
sleep 5
done
上面的脚本将每隔5秒检查一次主机是否在线,当主机在线时,该脚本将通知您并停止。
这是shell脚本的工作方式。在第一行中,我们创建一个无限的while循环。然后,我们使用ping命令确定IP地址为ip_address
的主机是否可访问。
如果主机可访问,脚本将echo打印 Host is online
主机在线并终止循环。如果主机不可访问,sleep命令将脚本暂停5秒钟,然后循环从头开始。
到目前为止,您应该对如何使用Linux sleep命令有一个很好的了解。sleep命令是最简单的shell命令之一,仅接受一个用于指定睡眠间隔的参数。