我只发现如何等待用户输入。然而,我只是想暂停,这样我的while为真就不会使我的计算机崩溃。

我尝试暂停(1),但它说-bash:语法错误接近意外的令牌“1”。怎样才能做到呢?


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

import time
time.sleep(1)

or

from time import sleep
sleep(1)

对于shell脚本是只是

sleep 1

它执行睡眠命令。如。/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.

在指定时间单位时,也可以使用小数;例如,睡眠1.5秒


我知道我说这个有点晚了,但你也可以叫它睡觉,把你想要的时间打发过去。例如,如果我想等待3秒,我可以这样做:

/bin/sleep 3

4秒是这样的:

/bin/sleep 4

还有:

read -p "Press enter to continue"

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

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

在Mac OSX上,睡眠不需要几分钟,只需要几秒钟。有两分钟的时间,

sleep 120

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

按下任意一个按钮后继续

有关更多信息,请参阅read manpage ref 1, ref 2


运行多个sleep和命令

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来调试命令行