如何在继续之前暂停外壳脚本?

我只找到了如何等待用户输入。但是,我只想暂停,这样我的while true就不会使我的计算机崩溃。

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

1289720 次浏览

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

import timetime.sleep(1)

from time import sleepsleep(1)

对于外壳脚本是只是

sleep 1

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

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

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

/bin/sleep 3

4秒看起来像这样:

/bin/sleep 4

关于什么:

read -p "Press enter to continue"

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

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

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

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

当你按下任一按钮时继续

有关更多信息,请检查read manpageref 1

运行多个睡眠和命令

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

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

您可以使用$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一起使用来调试命令行