Android

Como usar o comando linux sleep para pausar um script bash

Shell Scripting - Criando scripts simples - comando echo - 06 - Linux

Shell Scripting - Criando scripts simples - comando echo - 06 - Linux

Índice:

Anonim

O sono é um utilitário de linha de comando que permite suspender o processo de chamada por um tempo especificado. Em outras palavras, o comando sleep interrompe a execução no próximo comando por um determinado número de segundos.

O comando sleep é especialmente útil quando usado em um script do shell bash, por exemplo, ao tentar novamente uma operação com falha ou dentro de um loop.

Neste tutorial, mostraremos como usar o comando sleep do Linux.

Como usar o comando sleep

A sintaxe para o comando sleep é a seguinte:

sleep NUMBER…

O número pode ser um número inteiro positivo ou um número de ponto flutuante.

O SUFFIX pode ser um dos seguintes:

  • s - segundos (padrão) m - minutos h - horas d - dias

Quando nenhum sufixo é usado, o padrão é segundos.

Quando dois ou mais argumentos são especificados, a quantidade total de tempo é equivalente à soma de seus valores.

Aqui estão alguns exemplos simples que demonstram como usar o comando sleep:

  • Durma por 5 segundos:

    sleep 5

    Dormir por 0, 5 segundos:

    sleep 0.5

    Durma por 2 minutos e 30 segundos:

    sleep 2m 30s

Exemplos de scripts Bash

Abaixo está o exemplo mais básico de como usar o comando sleep nos seus scripts do Bash. Quando você executa o script, ele imprime a hora atual no formato HH:MM:SS . Em seguida, o comando sleep interromperá o script por 5 segundos. Quando o período especificado terminar, a última linha do script imprimirá novamente o horário atual.

#!/bin/bash # start time date +"%H:%M:%S" # sleep for 5 seconds sleep 5 # end time date +"%H:%M:%S"

A saída será mais ou menos assim:

13:34:40 13:34:45

Vamos dar uma olhada em um exemplo mais avançado.

#!/bin/bash while: do if ping -c 1 ip_address &> /dev/null then echo "Host is online" break fi sleep 5 done

O script acima verificará se um host está online ou não a cada 5 segundos e, quando o host ficar online, o script o notificará e parará.

Como o script funciona:

  • Na primeira linha, estamos criando um loop while infinito. Em seguida, estamos usando o comando ping para determinar se o host com endereço IP de ip_address está acessível ou não. Se o host estiver acessível, o script ecoará "Host is online" e encerre o loop.Se o host não estiver acessível, o comando sleep interromperá o script por 5 segundos e o loop começará do início.

Conclusão

Até agora você deve ter um bom entendimento de como usar o comando de suspensão do Linux.

O comando de suspensão é um dos comandos de shell mais simples, aceitando apenas um argumento usado para especificar o intervalo de suspensão.

terminal de sono