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



>我只找到了如何等待用户输入的方法。但是,我只想暂停,以便我的while true不会使我的计算机崩溃。

我试过pause(1),但它说-bash: syntax error near unexpected token '1'.怎么能做到呢?

使用 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

那呢:

read -p "Press enter to continue"

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

import time
time.sleep(1)

from time import sleep
sleep(1)

对于外壳脚本只是

sleep 1

执行sleep命令。 /bin/sleep

运行多个睡眠和命令

sleep 5 && cd /var/www/html && git pull && sleep 3 && cd ..

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

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

/bin/sleep 3

4 秒如下所示:

/bin/sleep 4

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

sleep 120

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

read -p "Pause Time 5 seconds" -t 5
read -p "Continuing in 5 Seconds...." -t 5
echo "Continuing ...."
read -r -p "Wait 5 seconds or press any key to continue immediately" -t 5 -n 1 -s

在按任一按钮时继续

有关更多信息,请查看手册页 read ref 1, ref 2

您可以使用

默认的随机数生成器$RANDOM让它等待。在下面,我使用了 240 秒。希望对@

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

在运行之前使用trap暂停并检查命令行(彩色使用tput

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

按任意键继续

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

我认为您可以使用软件流控制。

Ctrl+s Freeze the terminal
Ctrl+q Unfreeze

https://en.wikipedia.org/wiki/Software_flow_control

$ while :; do sleep 0.2; echo hello; done
hello
hello
hello
hello
使用 Ctrl+

s 暂停,使用 Ctrl+q 恢复无限循环。

相关内容

  • 没有找到相关文章