Linux Sleep命令(暂停Bash脚本)
时间:2020-03-05 15:27:35 来源:igfitidea点击:
'sleep'是一个命令行实用程序,可让我们在指定的时间中暂停调用过程。
换句话说,“ sleep”命令将下一个命令的执行暂停给定的秒数。
当在bash shell脚本中使用时,例如在重试失败的操作或者循环内时,“ sleep”命令很有用。
在本教程中,我们将向我们展示如何使用Linux的“ sleep”命令。
如何使用“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脚本示例
在本节中,我们将介绍一些基本的Shell脚本,以了解如何使用“ sleep”命令。
#!/bin/bash # start time date +"%H:%M:%S" # sleep for 5 seconds sleep 5 # end time date +"%H:%M:%S"
运行脚本时,它将以“ HH:MM:SS”格式打印当前时间。
然后,“ sleep”命令将脚本暂停5秒钟。
经过指定的时间段后,脚本的最后一行将显示当前时间。
输出将如下所示:
13:34:40 13:34:45
让我们看一个更高级的示例:
#!/bin/bash while : do if ping -c 1 ip_address &> /dev/null then echo "Host is online" break fi sleep 5 done
该脚本每隔5秒检查一次主机是否在线。
主机联机后,脚本将通知我们并停止。
脚本的工作方式:
- 在第一行中,我们正在创建一个无限的“ while”循环。
- 然后,我们使用“ ping”命令确定IP地址为“ ip_address”的主机是否可访问。
- 如果主机可访问,则脚本将回显“主机在线”并终止循环。
- 如果主机不可访问,则“ sleep”命令将脚本暂停5秒钟,然后循环从头开始。