Wie pausiere ich mit einer bestimmten Zeit zwischen zwei Befehlen im Skript?


17

Ich möchte Folgendes tun:

#!/bin/bash
command1
pause 30 seconds
command2
exit

Dies ist nur ein Beispielskript mit einer Pause von 30 Sekunden zwischen der Ausführung des Befehls 2.

Wie macht man das?

Antworten:


26

Sie können dies in einem Terminal verwenden:

command1; sleep 30; command2

In Ihrem Skript:

#!/bin/bash
command1
sleep 30
command2
exit

Suffix für die Schlafenszeit:

  • s für Sekunden (die Standardeinstellung)
  • m für Minuten
  • h stundenlang
  • d für Tage

4

Sie können verwenden read -t. Z.B:

read -p "Continuing in 5 seconds..." -t 5
echo "Continuing..."

In Ihrem Skript:

command1
read -p 'Pausing for 30 seconds' -t 30
command2

Beachten Sie, dass Sie drücken können Enter, um die Zeitüberschreitung zu umgehen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.