Como pausar com tempo específico entre dois comandos no script?

17

Eu quero fazer o seguinte:

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

Este é apenas um exemplo de script com pausa de 30 segundos entre a execução do comando 2.

Como fazer isso?

Pandya
fonte

Respostas:

26

Você pode usar isso em um terminal:

command1; sleep 30; command2

No seu script:

#!/bin/bash
command1
sleep 30
command2
exit

Sufixo para a hora de dormir:

  • s por segundos (o padrão)
  • m por minutos
  • h por horas
  • d por dias
TuKsn
fonte
4

Você pode usar read -t. Por exemplo:

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

No seu script:

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

Observe que você pode pressionar Enterpara ignorar o período de tempo limite.

Jose Rosa
fonte