Linux Sleep 命令(暂停 Bash 脚本)
评论 0
浏览 0
2019-05-14
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
的主机是否可以到达。 - 如果主机可以到达,脚本将echo "Host is online",并终止循环。
- 如果主机无法到达,
sleep
命令就会使脚本暂停5秒钟,然后从头开始循环。
总结
sleep
命令是最简单的Linux命令之一。它是用来暂停下一条命令的执行,暂停时间为一定量。
如果你有任何问题或反馈意见,请随时留言。
0 个评论