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?

Pandya
quelle

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
TuKsn
quelle
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.

Jose Rosa
quelle