shell sleep睡眠命令的具体使用

 更新时间:2023年01月12日 10:22:24   作者:ghostwritten  
本文主要介绍了shell sleep睡眠命令的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

1. 背景

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

2. 简介

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

3. 语法

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

4. 与 wait 区别

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

5. 实例

5.1 设置警报

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

sleep 7h 30m && mplayer alarm.mp3

5.2 终端中的延迟命令

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

$ sleep 1 && echo "one" && sleep 1 && echo "two"
one
two

5.3 变量分配给 sleep

可以将变量分配给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 秒:

$ ./time_script.sh
Time before sleep: 00:01:15
Sleeping for 30 seconds
Time after sleep: 00:01:45

5.4 定义检查间隔

检查网站是否在线,如果成功 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

5.5 为操作完成留出时间

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

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

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

5.6 预测延迟

用于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管道和过滤器的使用

    Shell管道和过滤器的使用

    本文主要介绍了Shell管道和过滤器的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • Shell中建立与使用临时性文件的方法详解

    Shell中建立与使用临时性文件的方法详解

    由于工作需要shell脚本需要将一些信息保存在临时文件中。过去很少使用shell脚本,所以这方面经验很少。便在网上上搜索了所有常规的方法,总结于此,下面这篇文章主要给大家介绍了在Shell中建立与使用临时性文件的相关资料,需要的朋友可以参考下。
    2017-08-08
  • Shell脚本遍历一个日期范围实例

    Shell脚本遍历一个日期范围实例

    这篇文章主要介绍了Shell脚本遍历一个日期范围实例,本文直接给出实现代码,需要的朋友可以参考下
    2015-03-03
  • linux 查找大目录和大文件的方法(推荐)

    linux 查找大目录和大文件的方法(推荐)

    下面小编就为大家带来一篇linux 查找大目录和大文件的方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • shell脚本字符串处理的使用(分割、截取和拼接)

    shell脚本字符串处理的使用(分割、截取和拼接)

    本文主要介绍了shell脚本字符串处理的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • linux find命令将查找到的文件批量删除方法

    linux find命令将查找到的文件批量删除方法

    这篇文章主要介绍了linux find命令将查找到的文件批量删除,文中给大家补充介绍了Linux中find三种删除方式,常用于crontab定时任务和shell脚本,需要的朋友可以参考下
    2022-12-12
  • 详谈Linux写时拷贝技术(copy-on-write)必看篇

    详谈Linux写时拷贝技术(copy-on-write)必看篇

    下面小编就为大家带来一篇详谈Linux写时拷贝技术(copy-on-write)必看篇。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • shell监控linux系统进程创建脚本分享

    shell监控linux系统进程创建脚本分享

    shell监控linux系统进程创建脚本,大家参考使用吧
    2013-12-12
  • Shell中整数计算的几种方式

    Shell中整数计算的几种方式

    今天小编就为大家分享一篇关于Shell中整数计算的几种方式,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • linux 获取文件名称并生成列表txt的方法

    linux 获取文件名称并生成列表txt的方法

    今天小编就为大家分享一篇linux 获取文件名称并生成列表txt的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06

最新评论

?


http://www.vxiaotou.com