Sintaxe do comando Sleep:
número do sono [sufixo]
Você pode usar qualquer número inteiro ou fracionário como valor de tempo. A parte do sufixo é opcional para este comando. Se você omitir o sufixo, o valor do tempo é calculado como segundos por padrão. Você pode usar s, m, h e d como valor de sufixo. Os exemplos a seguir mostram o uso do comando sleep com diferentes sufixos.
Exemplo-1: comando sleep sem nenhum sufixo
No script a seguir, o comando sleep é usado com valor numérico 2 apenas e nenhum sufixo é usado. Então, se você executar o script, a string “Tarefa completa”Será impresso após esperar 2 segundos.
#!/ bin / bashecho "Esperando 2 segundos…"
dormir 2
echo "Tarefa Concluída"
Execute o arquivo bash com Tempo comando para mostrar os três tipos de valores de tempo para executar o script. A saída mostra o tempo usado por um sistema, usuário e tempo real.
$ time bash sleep1.shResultado:
Exemplo-2: comando sleep com um sufixo de minuto
No script a seguir, 'm'é usado como o sufixo com o comando sleep. Aqui, o valor do tempo é 0.05 minutos. Depois de esperar 0.05 minutos, “Tarefa completa”Mensagem será impressa.
#!/ bin / bashecho "À espera de 0.05 minutos… "
dormir 0.05m
echo "Tarefa Concluída"
Execute o script com Tempo comando como o primeiro exemplo.
$ time bash sleep2.shResultado:
Exemplo-3: comando sleep com sufixo hora
No script a seguir, 'h'é usado como o sufixo com o comando sleep. Aqui, o valor do tempo é 0.003 horas. Depois de esperar 0.003 hora “Tarefa completa"Deve ser impresso na tela, mas requer mais vezes na realidade quando 'h' sufixo é usado.
#!/ bin / bashecho "À espera de 0.003 horas… "
dormir 0.003h
echo "Tarefa Concluída"
$ time bash sleep3.sh
Resultado:
Exemplo-4: comando dormir com loop
Você pode usar o comando sleep para vários fins. No exemplo a seguir, o comando sleep é usado com loop while. Inicialmente, o valor da variável n é definido como 1 e o valor de n será incrementado por 1 para 4 vezes em cada 2 intervalo de segundos. Então, quando você vai executar o script, cada saída aparecerá depois de esperar 2 segundos.
#!/ bin / bashn = 1
enquanto [$ n -lt 5]
Faz
echo "O valor de n agora é $ n"
dormir 2s
echo ""
((n = $ n + 1))
feito
Resultado:
Exemplo-5: comando sleep no terminal com outros comandos
Suponha que você deseja executar vários comandos e definir o intervalo de tempo fixo entre as saídas de dois comandos, então você pode usar o comando sleep para fazer essa tarefa. Neste exemplo, o comando ls e pwd estão com dormir comando. Depois de executar o comando, ls o comando irá mostrar a lista de diretórios do diretório atual e mostrar o caminho do diretório de trabalho atual após esperar por 2 segundos.
$ ls && sleep 2 && pwdResultado:
Exemplo-6: usando o comando sleep a partir do prompt de comando
O comando sleep é usado entre dois comandos de eco no exemplo a seguir. Três valores de tempo serão exibidos após a execução do comando.
$ time (echo "Start"; sleep 5; echo "End")Resultado:
O comando sleep é um comando útil quando você precisa escrever um script bash com vários comandos ou tarefas, a saída de qualquer comando pode exigir uma grande quantidade de tempo e outro comando precisa esperar para completar a tarefa do comando anterior. Por exemplo, você deseja baixar arquivos sequenciais e o próximo download não pode ser iniciado antes de completar o download anterior. Neste caso, é melhor suspender o comando antes de cada download para aguardar o período de tempo fixo.