sleep命令在Linux中有什么作用?

时间:2020-01-09 10:44:09  来源:igfitidea点击:

Linux中的sleep命令作用是什么?

如何使用Linux sleep命令暂停bash脚本?
您可以使用sleep命令在Linux或者类Unix系统上的给定时间段内暂停shell脚本或者命令的执行。
本教程说明Linux操作系统中sleep命令的语法和用法。

那么,sleep命令在Linux中做什么?

  • /bin/sleep是Linux或者Unix命令,可延迟指定的时间。
  • 您可以在指定的时间内暂停调用Shell脚本。例如,暂停10秒钟或者停止执行2分钟。
  • 换句话说,sleep命令会在给定时间内暂停执行下一个Shell命令。
  • GNU版本的sleep命令支持其他选项
  • 例如,将bash shell脚本或者命令提示符挂起五秒钟,执行:sleep 5
  • 睡眠命令的常见示例包括调度任务和延迟执行以允许进程启动。另一种用法是等待wifi网络连接可用以通过网络流式传输大文件。

睡眠命令语法

sleep命令的语法如下:

sleep NUMBER[SUFFIX]

除了秒,[SUFFIX]在GNU/Linux上可以如下:

  • s秒(默认)。
  • m分钟。
  • h小时。
  • d天。

以上选项仅在Linux的GNU版本上受支持,而在macOS/Unix/* BSD oses系列中不受支持。
因此,对于非GNU/Linux系统,请尝试:

sleep 5
sleep 2

睡眠命令示例

要睡眠13秒钟,请使用:

sleep 13

例如,也睡0.5或者2.5秒,请尝试:

sleep 0.5

或者

sleep 2.5

因此,允许使用浮点数。
但是,不允许"睡眠2h30m"。
休眠2分钟

sleep 2m

停止或者睡眠2小时,使用:

sleep 2h

第一次睡眠8个小时,然后播放名为wake-up.mp3的音乐文件

sleep 8h && mplayer wake-up.mp3

如何使用Linux sleep命令暂停bash脚本

让我们看一个简单的示例,该脚本将脚本暂停10秒钟。

#!/bin/bash
# Name: sleep-demo.sh
# Purpose: bash script examples that demos sleep command
# Author:  {https://www.theitroad.local}
# ----------------------------------------------------------
SLEEP_TIME="10"
echo "Current time: $(date +%T)"
echo "Hi, I'm sleeping for ${SLEEP_TIME} seconds ..."
sleep ${SLEEP_TIME}
echo "All done and current time: $(date +%T)"

按如下所示运行它

chmod +x sleep-demo.sh
./sleep-demo.sh

sleep命令shell脚本示例

Shell脚本将通过在屏幕上显示当前时间开始。
之后,我们的shell脚本会告诉您如何退出,并将继续在屏幕上显示当前时间:

#!/bin/bash
## run while loop to display date and hostname on screen ##
while [ : ]
do
    clear
    tput cup 5 5
    echo "$(date) [ press CTRL+C to stop ]"
    tput cup 6 5
    sleep 1
done

如何在继续之前将我的bash shell脚本暂停10秒

尝试按以下方式读取命令:

read -p "text" -t seconds
read -p "Waiting 10 seconds for CDN/Cloud to clear cache from proxy server" -t 10
echo "Uploading a fresh version of gif file now ...."
./upload.py "$gif_file" server1.theitroad.local