Skip to content

Como usar o comando Linux Sleep para pausar um script BASH

30 de abril de 2021

O que saber

  • Use o dormir comando mais um tempo; s=segundos, m=minutos, h=horas, ou d=dias (por exemplo, dormir 5s pausa o script por 5 segundos).
  • Usar homem dorme para mais.

Este artigo explica como usar o comando de suspensão do Linux para pausar um script bash, entre outras coisas. Por si só, o comando sleep não é muito útil. No entanto, como parte de um script, pode ser usado de várias maneiras. Por exemplo, você pode usá-lo para pausar o script antes de tentar novamente um comando que falhou na primeira vez.

Kaley McKean / Lifewire

Um exemplo de uso do comando Sleep

Imagine que você tenha um script que processa arquivos que foram baixados de outro servidor. O script não deve iniciar o processo de cópia até que o download de todos os arquivos seja concluído. O processo de download é executado por um script separado que é executado antes do seu. O script que copia os arquivos pode conter um loop para testar se todos os arquivos foram baixados (ele faz isso verificando se 50 arquivos foram encontrados antes de iniciar o processo de cópia). Não há motivo para testar o script constantemente, pois isso usa o tempo do processador. Em vez disso, você pode pausar por alguns minutos entre cada teste antes de tentar novamente. O comando sleep é perfeito em tais circunstâncias.

Como Usar o Comando Dormir

Para usar o comando de suspensão do Linux, digite o seguinte na janela do terminal: sleep 5s

class = “ql-syntax”> O comando acima faz o terminal pausar por 5 segundos antes de retornar à linha de comando. O comando sleep requer a palavra-chave dormir, seguido pelo número que você deseja pausar e a unidade de medida. Você pode especificar o atraso em segundos, minutos, horas ou dias.

  • s: Segundos
  • m: Minutos
  • h: Horas
  • d: Dias

Quando se trata de pausar um script por dias, use um cron job para executar o script em intervalos regulares, ao invés de ter um script executado em segundo plano por dias. Um cron job é um comando ou script do Linux que você pode programar para ser executado em uma hora ou dia definido. Eles são úteis para repetir tarefas por um longo período de tempo. O número do intervalo do comando de suspensão não precisa ser um número inteiro. Você também pode usar números de ponto flutuante.

Comando de suspensão do Linux

Por exemplo, a seguinte sintaxe inclui uma fração de segundo: sleep 3,5s

class = “ql-syntax”>

Um exemplo de uso do comando Sleep

O script a seguir mostra como usar o comando sleep para fazer uma contagem regressiva baseada em terminal: #! / Bin / bash
x = 10
enquanto [ $x -gt 0 ]
Faz
dormir 1s
Claro
echo “$ x segundos até decolar”
x = $ (($ x – 1))
feito

class = “ql-syntax”> Veja como este script funciona:

  • O script define a variável x como 10.
  • O loop while continua a iterar enquanto o valor de x é maior que zero.
  • O comando sleep pausa o script por 1 segundo a cada vez em torno do loop.
  • O restante do script limpa a tela a cada iteração, exibe a mensagem, “x segundos até decolar” e subtrai 1 do valor de x.

Linux dorme no script

Sem o comando sleep, o script aumentaria o zoom e as mensagens seriam exibidas muito rapidamente.

Como usar interruptores de comando de suspensão

O comando sleep tem apenas alguns interruptores. O –ajuda switch mostra o arquivo de ajuda para o comando sleep. Você pode conseguir a mesma coisa usando o comando man da seguinte maneira: man sleep

type = “code”> O –versão switch mostra a versão do comando sleep instalado no sistema. As informações retornadas pelo switch –version são as seguintes:

  • Número da versão
  • Detalhes de direitos autorais
  • Licença
  • Autores

Pausar comandos do terminal com repouso

Outro bom uso para o comando sleep é pausar os comandos digitados na janela do terminal. Se desejar, você pode digitar dois comandos seguidos, esperando que o primeiro termine antes de digitar o segundo. No entanto, uma abordagem mais rápida é digitar os dois comandos em uma linha, com um comando sleep entre cada comando: $ cd / mydirectory / && sleep 3 && ls

type = “code”> Como funciona este comando:

  • O cd / meudiretório / comando muda o diretório.
  • O dormir 3 O comando espera três segundos para que o comando cd termine.
  • O ls comando executa e exibe o conteúdo do diretório.

Para um exemplo simples como este, o comando sleep economiza apenas um pouco de tempo. No entanto, se você tiver uma longa lista de comandos, a capacidade de digitar os comandos em uma linha economiza tempo.