ユーザー入力を待つ方法を見つけただけです。ただし、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
Python(質問はもともとPythonのタグが付いていました)では、timeモジュールをインポートする必要があります。
import time
time.sleep(1)
または
from time import sleep
sleep(1)
シェルスクリプトはただです
sleep 1
これはsleep
コマンドを実行します。例えば。 /bin/sleep
そして何について:
read -p "Press enter to continue"
私はこれで少し遅れていることを認識しています、しかしあなたはまたsleepを呼んでそして不機嫌な時間を渡すことができます。例えば、私が3秒間待つことを望むなら:
/bin/sleep 3
4秒は次のようになります。
/bin/sleep 4
Mac OS Xでは、スリープには数分/ etcではなく、数秒しかかかりません。 2分間
sleep 120
スクリプト内で、一時停止したいアクションの間に以下を追加できます。これで5秒間ルーチンが一時停止します。
read -p "Pause Time 5 seconds" -t 5
read -p "Continuing in 5 Seconds...." -t 5
echo "Continuing ...."
複数のスリープとコマンドを実行する
sleep 5 && cd /var/www/html && git pull && sleep 3 && cd ..
これは最初のスクリプトを実行する前に5秒間待ってから、再びディレクトリを変更する前に3秒間再びスリープします。
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