【发布时间】:2014-03-04 10:21:18
【问题描述】:
我只找到了如何等待用户输入。但是,我只想暂停一下,以免我的while true 使我的计算机崩溃。
我试过pause(1),但它显示-bash: syntax error near unexpected token '1'。怎么办?
【问题讨论】:
我只找到了如何等待用户输入。但是,我只想暂停一下,以免我的while true 使我的计算机崩溃。
我试过pause(1),但它显示-bash: syntax error near unexpected token '1'。怎么办?
【问题讨论】:
在 Python 中(问题最初被标记为 Python)你需要导入时间模块
import time
time.sleep(1)
或
from time import sleep
sleep(1)
因为 shell 脚本只是
sleep 1
执行sleep 命令。例如。 /bin/sleep
【讨论】:
python -c "import time; time.sleep(1)" 而不是 sleep 1 将 python 答案与 Bash 结合起来 :)
python -c "import time; time.sleep(0.8)"。但接下来我们需要考虑 python 启动实际需要多长时间。你需要运行这个:date +%N; python -c "import time; time.sleep(0)"; date +%N 来确定 python 需要多少纳秒才能启动。但这也包括运行日期的一些开销。运行此date +%N; date +%N 以查找开销。 Python 在我的机器上的开销实际上接近 0.14 秒。所以我想要time.sleep(0.86)。
使用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
【讨论】:
thread.sleep函数@Geremia
我意识到我这样做有点晚了,但你也可以调用 sleep 并将不想要的时间打发进去。例如,如果我想等待 3 秒,我可以这样做:
/bin/sleep 3
4 秒如下所示:
/bin/sleep 4
【讨论】:
然后呢:
read -p "Press enter to continue"
【讨论】:
PAUSE
在脚本中,您可以在您希望暂停的操作之间添加以下内容。这将使例程暂停 5 秒钟。
read -p "Pause Time 5 seconds" -t 5
read -p "Continuing in 5 Seconds...." -t 5
echo "Continuing ...."
【讨论】:
-t 5 将在 5 秒后中止脚本,而不是继续,least according to this man page for read
在 Mac OSX 上,睡眠不需要几分钟等,只需几秒钟。所以两分钟,
sleep 120
【讨论】:
【讨论】:
运行多个睡眠和命令
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调试命令行
【讨论】: