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