在继续之前,如何暂停我的shell脚本一秒钟?

时间:2014-02-07 06:01:00

标签: bash shell unix terminal

我只找到了如何等待用户输入。但是,我只想暂停,以便我的while true不会崩溃我的电脑。

我尝试了pause(1),但它说-bash: syntax error near unexpected token '1'。怎么办呢?

10 个答案:

答案 0 :(得分:1005)

使用sleep命令。

示例:

sleep .5 # Waits 0.5 second.
sleep 5  # Waits 5 seconds.
sleep 5s # Waits 5 seconds.
sleep 5m # Waits 5 minutes.
sleep 5h # Waits 5 hours.
sleep 5d # Waits 5 days.

在指定时间单位时也可以使用小数;例如sleep 1.5s

答案 1 :(得分:63)

在Python(问题最初标记为Python)中,您需要导入时间模块

import time
time.sleep(1)

from time import sleep
sleep(1)

对于shell脚本只是

sleep 1

执行sleep命令。例如。 /bin/sleep

答案 2 :(得分:53)

那怎么样:

read -p "Press enter to continue"

答案 3 :(得分:37)

我意识到我已经有点迟了,但你也可以打电话给睡眠并通过时间。例如,如果我想等待3秒钟,我可以这样做:

/bin/sleep 3

4秒看起来像这样:

/bin/sleep 4

答案 4 :(得分:28)

在Mac OSX上,睡眠不需要几分钟/秒,只需几秒钟。所以两分钟,

sleep 120

答案 5 :(得分:15)

在脚本中,您可以在要暂停的操作之间添加以下内容。这将使例程暂停5秒钟。

read -p "Pause Time 5 seconds" -t 5
read -p "Continuing in 5 Seconds...." -t 5
echo "Continuing ...."

答案 6 :(得分:13)

运行多个睡眠和命令

public async Task<IActionResult> List(string name, DateTime? dateBirth)

这将等待5秒钟,然后执行第一个脚本,然后再次休眠3秒钟,然后再次更改目录。

答案 7 :(得分:4)

read -r -p "Wait 5 seconds or press any key to continue immediately" -t 5 -n 1 -s

按任意一个按钮时继续

答案 8 :(得分:1)

您可以使用默认随机数生成器$ RANDOM使其等待。在下面,我使用240秒。希望对@

有帮助
> WAIT_FOR_SECONDS=`/usr/bin/expr $RANDOM % 240` /bin/sleep
> $WAIT_FOR_SECONDS

答案 9 :(得分:1)

使用陷阱暂停并在运行前检查命令行

trap 'tput setaf 1;tput bold;echo $BASH_COMMAND;read;tput init' DEBUG

按任意键继续

  

set -x一起使用以调试命令行