在Bash脚本中使用Linux Sleep命令
时间:2020-03-05 15:31:39 来源:igfitidea点击:
Linux sleep命令是最简单的命令之一。
从名字可以猜到,它的唯一功能就是睡觉。
换句话说,它会引入指定时间的延迟。
因此,如果将sleep命令与x一起使用,则下一个命令只能在x秒后运行。
睡眠命令具有简单的语法:
sleep Number[Suffix]
其中后缀可以是:
- s秒。这是默认值。
- m分钟。
- h小时。
- d天。
让我们看一下sleep命令的一些示例。
Bash sleep命令示例
尽管我们可以直接在shell中使用它,但是sleep命令通常用于在执行bash脚本时引入延迟。
我将通过示例bash脚本显示sleep命令的用法。
不带后缀的睡眠命令以秒为单位
假设我们想将bash脚本暂停5秒钟,则可以像这样使用sleep:
sleep 5
在示例bash脚本中,它可能看起来像这样:
!/bin/bash echo "Sleeping for 5 seconds…" sleep 5 echo "Completed"
如果使用time命令运行它,我们将看到bash脚本实际运行了(略)超过5秒钟。
time ./sleep.sh Sleeping for 5 seconds… Completed real 0m5.008s user 0m0.000s sys 0m0.007s
带有分钟,小时或者天后缀的睡眠命令
我们可以通过以下方式以分钟为单位指定睡眠时间:
sleep 1m
这会将脚本/shell暂停一分钟。
如果要将脚本延迟几个小时,可以使用h选项:
sleep 2h
即使我们想将bash脚本暂停几天,也可以使用d后缀:
sleep 5d
如果我们想在隔日或者工作日运行,这可能会有所帮助。
带有秒,分钟,小时和天的组合的睡眠命令
我们没有义务一次只使用一个后缀。
我们可以使用多个后缀,并且睡眠时间是所有后缀的总和。
例如,如果我们使用以下命令:
sleep 1h 10m 5s
这将使脚本等待1小时10分钟5秒。
请注意,后缀在这里仍然是可选的。
温馨提示:睡眠不到一秒钟
我们可能已经注意到,sleep命令中最小的时间单位是秒。
但是,如果bash脚本要睡眠几毫秒怎么办?
好消息是,我们可以在睡眠命令中使用浮点数(小数点)。
因此,如果要引入5毫秒的暂停,请按以下方式使用它:
sleep 0.005
我们还可以将小数点与其他后缀一起使用。
sleep 1.5h 7.5m
它将导致1小时37分钟30秒的延迟。