Content

shell sleep睡眠命令的具体使用(shell脚本中的$1)奔走相告

文章摘要

这篇文章介绍了Linux系统中`sleep`命令的功能、语法、使用场景及其与其他命令(如`wait`)的区别。`sleep`命令用于将命令执行暂停一段时间,通常用于为系统提供足够的处理时间以确保预期结果。文章详细解释了`sleep`的语法,包括指定时间单位(秒、分钟、小时等),支持浮点数计算以及使用`Ctrl + C`终止命令。此外,文章对比了`sleep`和`wait`的不同点,前者是按需挂起,后者等待指定进程完成。通过多个示例展示了`sleep`命令的实际应用,如强制执行命令间隔、检查网站在线性等待、防止脚本输出错误等。文章最后提到`sleep`命令在脚本中的应用,强调其在处理后台进程和强制执行命令间隔中的重要性。


目录1. 背景2. 简介3. 语法4. 与 wait 区别5. 实例5.1 设置警报5.2 终端中的延迟命令5.3 变量分配给 sleep5.4 定义检查间隔5.5 为操作完成留出时间5.6 预测延迟

当用户在 Linux 中发出多个命令序列时,命令会立即一个接一个或同时执行(例如,tee 命令)。但是,有时需要推迟命令的执行并为系统提供足够的时间来产生预期的结果。

sleep命令将下一个命令的调用进程挂起一段指定的时间。当以下命令的执行取决于前一个命令的成功完成时,此属性很有用。

sleep [number]

默认情况下,系统读取之后sleep的数字作为秒数。要指定其他时间单位,请使用以下语法:

sleep [number][unit]
sleep 1h 2m 0.5s

该sleep命令接受浮点数。它允许多个值相加,以计算sleep.

可用单位有:

s– 秒m- 分钟h- 小时d- 天

要sleep在开始后和指定的等待时间结束前停止,请按Ctrl + C。

要查看该sleep命令的帮助,请键入:

sleep –help

有关版本详细信息,请键入:

sleep –version

bash wait 命令是一个Shell 命令,它等待后台运行的进程完成并返回退出状态。与等待指定时间的 sleep 命令不同,wait 命令等待所有或特定的后台任务完成。

用于sleep告诉系统在一定时间后播放 mp3 文件。

sleep 7h 30m && mplayer alarm.mp3

sleep对于强制执行两个命令之间的时间很有用,以一秒的间隔执行:

$ sleep 1 && echo “one” && sleep 1 && echo “two” one two

可以将变量分配给sleep命令。

#!/bin/bash SLEEP_INTERVAL=”30″ CURRENT_TIME=$(date +”%T”) echo “Time before sleep: ${CURRENT_TIME}” echo “Sleeping for ${SLEEP_INTERVAL} seconds” sleep ${SLEEP_INTERVAL} CURRENT_TIME=$(date +”%T”) echo “Time after sleep: ${CURRENT_TIME}”

该脚本定义了一个名为的变量SLEEP_INTERVAL ,其值稍后用作sleep命令的参数。此示例脚本的输出显示执行持续了 30 秒:

$ https://www.jb51.net/article/time_script.sh Time before sleep: 00:01:15 Sleeping for 30 seconds Time after sleep: 00:01:45

检查网站是否在线,如果成功 ping 一个网站,脚本就会停止,在不成功的 ping 之间引入 10 秒的延迟。

#!/bin/bash while : do if ping -c 1 www.google.com &> /dev/null then echo “Google is online” break fi sleep 10 done

您可能正在运行一个 bash 脚本,该脚本在内部调用另外两个 bash 脚本——一个在后台运行测试,另一个打印结果。如果第二个脚本在第一个脚本完成之前执行,用于sleep防止第二个脚本打印错误的结果:

while kill -0 $BACK_PID ; do echo “Waiting for the process to end” sleep 1 done

该kill -0 $BACK_PID命令检查第一个脚本的进程是否仍在运行。如果是,它会打印消息并休眠 1 秒钟,然后再次检查。

用于sleep允许某些命令执行的延迟。

for (( i=1 ; i <=250 ; i++ )); do sleep 1 <do something> done

参考:

How to Use the Linux sleep Command with Examples

到此这篇关于shell sleep睡眠命令的具体使用的文章就介绍到这了,更多相关shell sleep命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:shell命令while循环中使用sleep命令代码示例Windows命令行bat批处理延迟sleep方法(批处理延时)可以生成SLEEP.EXE的延时命令的bat文件Bash脚本中Sleep命令的使用