我只发现了如何等待用户输入。但是,我只想暂停一下while true
,以免计算机崩溃。
我试过了pause(1)
,但是说-bash: syntax error near unexpected token '1'
。怎么做到呢?
我只发现了如何等待用户输入。但是,我只想暂停一下while true
,以免计算机崩溃。
我试过了pause(1)
,但是说-bash: syntax error near unexpected token '1'
。怎么做到呢?
Answers:
使用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
然后呢:
read -p "Press enter to continue"
PAUSE
在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 -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并传递不希望的时间。例如,如果我想等待3秒钟,我可以这样做:
/bin/sleep 3
4秒将如下所示:
/bin/sleep 4
运行多次睡眠和命令
sleep 5 && cd /var/www/html && git pull && sleep 3 && cd ..
这将在执行第一个脚本之前等待5秒钟,然后将再次休眠3秒钟,然后再次更改目录。
在脚本内,您可以在要暂停的操作之间添加以下内容。这将使例程暂停5秒钟。
read -p "Pause Time 5 seconds" -t 5
read -p "Continuing in 5 Seconds...." -t 5
echo "Continuing ...."
-t 5
将在5秒钟后中止脚本,而不是继续进行,至少根据此手册页进行阅读
read -r -p "Wait 5 seconds or press any key to continue immediately" -t 5 -n 1 -s
按下任一按钮时继续
您可以使用默认随机数生成器$ RANDOM使其等待。在下面,我使用240秒。希望对@有帮助
> WAIT_FOR_SECONDS=`/usr/bin/expr $RANDOM % 240` /bin/sleep
> $WAIT_FOR_SECONDS
sleep
!(pause
,wait
或delay
将更有意义,并且更容易记住。)