Linux/UNIX:Bash脚本休眠或者延迟指定的时间
时间:2020-01-09 10:42:23 来源:igfitidea点击:
在Linux或者类似Unix的系统上,如何在bash shell脚本中暂停5秒或者2分钟?您需要使用sleep命令来添加指定时间段的延迟。 gnu/bash sleep命令的语法如下:
sleep NUMBER [SUFFIX]
SUFFIX可以是:
s
秒(默认)m
分钟。h
小时。d
天。
请注意,BSD系列操作系统(例如FreeBSD)或者macOS/mac OS X中的sleep命令不带任何后缀参数(m/h/d)。
只需要几秒钟的参数。
因此,像Unix这样的系统 sleep命令的语法是:
sleep NUMBER
例子
要睡眠5秒钟,请使用:
sleep 5
想睡2分钟,使用:
sleep 2m
停止或者睡眠3小时,使用:
sleep 3h
更多示例:
### To sleep for 5 days, use: ## sleep 5d ### To sleep for 1.5 seconds: ## sleep 1.5 ## To sleep for .5 seconds: ### sleep .5
最常见的用法如下:
## run commmand1, sleep for 1 minute and finally run command2 ## command1 && sleep 1m && command2 ## sleep in bash for loop ## for i in {1..10} do do_something_here sleep 5s done ## run while loop to display date and hostname on screen ## while [ : ] do clear tput cup 5 5 date tput cup 6 5 echo "Hostname : $(hostname)" sleep 1 done
sleep命令Bash脚本示例
这是一个简单的示例:
#!/bin/bash echo "Hi, I'm sleeping for 5 seconds..." sleep 5 echo "all Done."
在此示例中,创建锁目录。
我在这里使用[/\\:.-]
以确保我们不会使用与.o文件相同的名称。
另外,该名称应基于预期的目标文件名,因为这对于并行构建很重要。
... ... lockdir=`echo "$cofile" | sed -e 's|[/\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done .... .. ....
在继续之前,如何将bash shell脚本暂停5秒钟?
使用read命令:
read -p "text" -t 5 read -p "Waiting five secs for Cloudflare to clear cache...." -t 5 echo "Generating pdf file now ...."
输出示例:
Waiting five secs for Cloudflare to clear cache.... Generating pdf file now ....
其中:
-p" text"
:在超时之前显示文本,不带尾随换行符。-t N
:将超时设置为5秒。