Neste tópico, você entenderá como usar o comando sleep usando diferentes scripts bash. Sleep é um utilitário de linha de comando que nos permite suspender o processo de chamada por um tempo especificado. Em outras palavras, o comando Bash sleep é usado para inserir um atraso ou pausar a execução por um período de tempo especificado.
Quando o programador precisar pausar a execução de algum comando para uma finalidade específica, então este comando pode ser utilizado com o valor de tempo específico. Pode-se definir o valor do atraso por segundos (s), minutos (m), horas (h) e dias (d) . Este comando é especialmente útil quando é usado em um script shell bash.
cobra python vs anaconda
Sintaxe do comando de suspensão
A seguir está a sintaxe do comando sleep no Bash:
sleep number[suffix]
Você pode usar qualquer número inteiro positivo ou fracionário como valor de tempo. Um sufixo é uma parte opcional. Você pode aplicar qualquer um dos seguintes como sufixo:
- s - segundos
- m - minutos
- h - horas
- d - dias
Observação:Quando não há sufixo, o número é considerado em segundos (por padrão).
Quando dois ou mais argumentos são especificados, o tempo total será considerado como o tempo equivalente à soma de seus valores.
A seguir estão alguns exemplos simples que mostram como usar o comando sleep:
- Durma por 9 segundos, use
durma 9 ou durma 9s - Durma por 0,5 segundos, use
durma 0,5 ou durma 0,5s - Durma por 2 minutos e 30 segundos, use
durmo 2m30s - Durma por 8 horas
dormir 8h - Durma por 2 dias, 9 horas, 5 minutos e 55 segundos, use
dormir 2d 9h 5m 55s
Exemplo de scripts Bash
Vamos explicar o exemplo mais básico do comando sleep no Bash.
Script Bash
#!/bin/bash # start time date +'%H:%M:%S' echo 'wait for 9 seconds' # sleep for 9 seconds sleep 9s # you can also use 'sleep 9' in place of 'sleep 9s' because if there is no suffix, it is considered as 'seconds'. # end time date +'%H:%M:%S' echo 'Task Completed'
Visualização do console Bash
Saída
Como funciona o roteiro
Quando executarmos o script, ele imprimirá a hora atual no formato HH:MM:SS. Então o comando echo será executado e imprimirá a mensagem ‘aguarde 9 segundos’. Em seguida, o comando sleep executará e pausará o script por 9 segundos. Quando o período de tempo especificado expirar, a próxima linha do script imprimirá novamente a hora atual. Por último, o comando echo imprimirá a mensagem ‘Tarefa concluída’.
Da mesma forma, você pode executar o comando sleep por minutos, horas e dias.
Conclusão
Neste tópico, discutimos como poderíamos atrasar ou pausar a execução do bash por um determinado período de tempo.